Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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