MIDL (帶正負號和無符號類型)

針對已簽署和未簽署類型使用不同的預設值的編譯器,可能會導致分散式應用程式中的軟體錯誤。 您可以明確將字元類型宣告為帶正負號或未簽署,以避免這些問題。 請注意,DCE IDL 編譯器無法辨識 關鍵字帶正負號。 因此,當您使用 MIDL 編譯器 /osf 參數時,無法使用此功能。

MIDL 會定義 小型 類型,以採用與目標 C 編譯器中 字元 類型相同的預設符號。 如果編譯器假設 char 為未簽署, small 也會定義為未簽署。 許多 C 編譯器可讓您將預設值變更為命令列選項。 例如,在Microsoft Visual C++開發環境中,/J命令列選項會將字元的預設符號從已簽署變更為未簽署。

您也可以使用 MIDL 編譯器命令列參數/char來控制char類型的變數符號和small。 這個參數可讓您指定編譯器所使用的預設符號。 MIDL 編譯器會明確宣告所有不符合所產生標頭檔之 C 編譯器預設類型 之 char 類型的符號。