/char-Schalter

Mit dem / char-Schalter wird sichergestellt, dass der MIDL-Compiler und der C-Compiler für alle char - und small-Typen ordnungsgemäß zusammenarbeiten.

midl /char { signed | unsigned | ascii7 }

Optionen wechseln

Unterzeichnet

Gibt an, dass der C-Compiler-Standardtyp für char signiert ist. Alle Vorkommen von char , die nicht von einer Vorzeichenspezifikation begleitet werden, werden als zeichenloses Zeichen generiert.

Unsigned

Gibt an, dass der C-Compiler-Standardtyp für char nicht signiert ist. Alle Verwendungen von small , die nicht von einer Zeichenspezifikation begleitet werden, werden als klein signiert generiert.

ascii7

Gibt an, dass alle Zeichenwerte ohne ein bestimmtes Zeichen Schlüsselwort (keyword) an die generierten Dateien übergeben werden sollen. Alle Verwendungen von small , die nicht von einer Vorzeichenspezifikation begleitet werden, werden als klein generiert.

Bemerkungen

Per Definition ist MIDL-Zeichen nicht signiert. "Klein" wird in Bezug auf char (#define kleines Zeichen) definiert, und MIDL small ist signiert.

Der /char-Schalter weist den MIDL-Compiler an, explizite signierte oder nicht signierte Deklarationen in den generierten Dateien anzugeben, wenn die C-Compiler-Zeichendeklaration mit dem MIDL-Standard für diesen Typ in Konflikt steht.

Denken Sie daran, dass der MIDL-Compiler die Stubs als C-Quellcode generiert, den Sie als Teil Ihrer Client- und Serverprogramme kompilieren müssen. Einige Compiler verwenden überall, wo char-Daten im Quellcode angegeben sind, ein signiertes Zeichen. Der Stubquellcode, den der MIDL-Compiler generiert, behandelt alle Char-Daten als zeichenloses Zeichen. Wenn der MIDL-Compiler einfach alle char-Daten in der IDL-Datei als char-Daten in den Stubs generiert hat, würden Compiler, die ein signiertes Char für char-Daten verwenden, einen Konflikt im Stubquellcode verursachen.

Der Zweck der Befehlszeilenoption /char besteht darin, diese potenziellen Konflikte zu beheben. Alle daten, die als char in der IDL-Datei als unsigniertes zeichen im Stubquellcode angegeben sind, werden beibehalten. Außerdem werden kleine Daten als signiert verwaltet.

In der folgenden Tabelle sind die generierten Typen zusammengefasst.

midl /char-Option Generierter char-Typ Generierter kleiner Typ
midl /char signiert unsigned char small
midl /char ohne Vorzeichen char klein signiert
midl /char ascii7 char small

 

Die Option /char mit Vorzeichen gibt an, dass der C-Compiler char und der kleine Typ signiert sind. Um dem MIDL-Standard für char zu entsprechen, muss der MIDL-Compiler alle Verwendungen von char , die nicht von einer Zeichenspezifikation begleitet werden, in unsigniertes zeichen konvertieren. Der kleine Typ wird nicht geändert, da dieser C-Compiler-Standard dem MIDL-Standardwert für small entspricht.

Die Option /char ohne Vorzeichen gibt an, dass der C-Compiler char-Typ nicht signiert ist. Der MIDL-Compiler konvertiert alle Verwendungen von small, die nicht von einer Zeichenspezifikation begleitet werden, in klein signiert.

Die Option ascii7 gibt an, dass char-Typen keine explizite Zeichenspezifikation hinzugefügt wird. Der Typ small wird als klein generiert.

Um Verwechslungen zu vermeiden, sollten Sie in der IDL-Datei wann immer möglich explizite Zeichenspezifikationen für char - und small-Typen verwenden. Beachten Sie, dass die Verwendung explizit signierter Zeichentypen in Ihrer IDL-Datei von DCE IDL nicht unterstützt wird. Daher ist dieses Feature nicht verfügbar, wenn Sie mit dem MIDL /osf-Schalter kompilieren.

Weitere Informationen zu /char finden Sie unter small.

Beispiele

midl /char signierter Dateiname.idl

midl /char ohne Vorzeichen dateiname.idl

midl /char ascii7 filename.idl

Weitere Informationen

Char

Allgemeine MIDL-Befehlszeilensyntax

/Osf

klein