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 unsigniert deklarieren. Beachten Sie, dass DCE IDL-Compiler die signierten Schlüsselwort (keyword) nicht erkennen. Daher ist dieses Feature nicht verfügbar, wenn Sie den MIDL-Compiler /osf-Schalter verwenden.

MIDL definiert den kleinen Typ, um das gleiche Standardzeichen wie der char-Typ im C-Zielcompiler zu verwenden. Wenn der Compiler davon ausgeht, dass char unsigned ist, wird small auch als unsigned definiert. Mit vielen C-Compilern können Sie den Standardwert als Befehlszeilenoption ändern. Beispielsweise ändert die Befehlszeilenoption /J in der Microsoft Visual C++ Entwicklungsumgebung das Standardzeichen für char von signiert in unsigniert.

Sie können auch das Vorzeichen von Variablen vom Typ char und small mit dem Befehlszeilenschalter /char des MIDL-Compilers steuern. Mit diesem Schalter können Sie das Vom Compiler verwendete Standardzeichen angeben. Der MIDL-Compiler deklariert explizit das Zeichen aller Zeichentypen , die nicht ihrem C-Compiler-Standardtyp in der generierten Headerdatei entsprechen.