Condividi tramite


Tipi firmati e non firmati (RPC)

I compilatori che usano impostazioni predefinite diverse per i tipi firmati e non firmati possono causare errori software nell'applicazione distribuita. È possibile evitare questi problemi dichiarando in modo esplicito i tipi di carattere come firmati o non firmati.

MIDL definisce il tipo small per accettare lo stesso segno predefinito del tipo char nel compilatore C di destinazione. Se il compilatore presuppone che char sia senza segno, anche small verrà definito come senza segno. Molti compilatori C consentono di modificare l'impostazione predefinita come opzione della riga di comando. Ad esempio, l'opzione della riga di comando /J del compilatore Microsoft C modifica il segno predefinito di char da signed a unsigned.

È anche possibile controllare il segno delle variabili di tipo char e small con l'opzione della riga di comando del compilatore MIDL /char. Questa opzione consente di specificare il segno predefinito usato dal compilatore. Il compilatore MIDL dichiara in modo esplicito il segno di tutti i tipi char che non corrispondono al tipo predefinito del compilatore C nel file di intestazione generato.