Signierte und nicht signierte Typen (MIDL)
Compiler, die unterschiedliche Standardwerte für signierte und nicht signierte Typen verwenden, können Softwarefehler in Ihrer verteilten Anwendung verursachen. Sie können diese Probleme vermeiden, indem Sie Ihre Zeichentypen explizit als signiert oder nicht signiert deklarieren. Beachten Sie, dass DCE-IDL-Compiler das Schlüsselwort mit Vorzeichennicht erkennen. Daher ist dieses Feature nicht verfügbar, wenn Sie den MIDL-Compiler/osf-Switch verwenden.
MIDL definiert den kleinen Typ so, dass er das gleiche Standardzeichen wie der char-Typ im C-Zielcompiler verwendet. Wenn der Compiler davon ausgeht, dass char nicht signiert ist, wird small auch als unsigned definiert. Mit vielen C-Compilern können Sie die Standardeinstellung als Befehlszeilenoption ändern. Beispielsweise ändert die Befehlszeilenoption /J in der Microsoft Visual C++ Entwicklungsumgebung das Standardzeichen von char von signed in unsigned.
Sie können auch das Vorzeichen von Variablen vom Typ char und small mit dem MIDL-Compilerbefehlszeilenschalter /charsteuern. Mit diesem Schalter können Sie das Standardzeichen angeben, das vom Compiler verwendet wird. Der MIDL-Compiler deklariert explizit das Vorzeichen aller char-Typen, die nicht mit Ihrem C-Compiler-Standardtyp in der generierten Headerdatei übereinstimmen.