/backward_compat Switch
Der Switch /backward_compat leitet den MIDL-Compiler an, um einige erweiterte Features beim Generieren von RPC/COM-Stubs zu deaktivieren.
midl /backward_compat { maybenull_sizeis | zeroout_alignmentgap |
BSTR_byvalue_escaping | string_defaultvalue | signed_wchar_t }
Optionen wechseln
maybenull_sizeis
- Wendet das [disable_consistency_check] Attribut auf eine gesamte MIDL-Kompilierung an.
zeroout_alignmentgap
- Deaktiviert das Nullen von Lücken im gemarstischen Puffer.
BSTR_byvalue_escaping
- Leitet den MIDL-Compiler an, Escapesequenzen wie †̃\n†™ oder †̃\t†™ in BSTRs zu berücksichtigen.
string_defaultvalue
- Erzwingt den MIDL-Compiler, Zeichenfolgen in [Standardwert] Attribute in VARIANT zu koerzen. VT_I4 Typ, bevor der Wert in den richtigen Typ umgewandelt wird.
signed_wchar_t
- Leitet MIDL zur Behandlung des wchar_t Typs als signiert zur Kompatibilität mit Visual Basic an.
Bemerkungen
maybenull_sizeis: Siehe [disable_consistency_check].
zeroout_alignmentgap: Wenn IDLs mit dem Ziel NT60 oder höher kompiliert werden, erstellt MIDL Stubs, die alle Ausrichtungslücken zwischen Elementen oder einer Struktur im Drahtpuffer nullen. Der Befehlszeilenschalter /backward_compat zeroout_alignmentgap leitet MIDL an, um dieses Feature zu deaktivieren.
In der folgenden Beispielstruktur enthält der Drahtpuffer eine 7 Byte-Ausrichtungslücke, um das Hyperelement nach dem Zeichenelement an 8 auszurichten. Mit â€"target NT60 or higher, MIDL will zero out that gap unless the switch is used.
IDL-Datei:
typedef struct _structwithgaps{ char c; // 7 byte gap to align the following hyper to 8 hyper h; } structwithgap;
Dieser Switch kann eine leichte Leistungsverbesserung mit potenziell erheblichen Erhöhungen des Offenlegungsrisikos bieten.
BSTR_byvalue_escaping: Standardmäßig verarbeitet der MIDL-Compiler escapesequenzen wie †̃\n†™ oder †̃\t†™ in Zeichenfolgenkonstanten für DIE OLE-Automatisierung beim Konvertieren einer Zeichenfolgenkonstante in Typen VT_LPSTR oder VT_LPWSTR. Mit dieser Option zur Abwärtskompatibilität werden die Escapesequenzen ausgewertet.
string_defaultvalue: Erzwingt den MIDL-Compiler, numerische Zeichenfolgen in [Standardwert] Attribute in VARIANT zu koerieren. VT_I4 Typ, bevor der Wert in den richtigen Typ umgewandelt wird. Dies kann in einigen Fällen zu einem Genauigkeitsverlust führen, daher wird diese Option nicht empfohlen.
signed_wchar_t: Leitet MIDL zur Behandlung des wchar_t Typs als signiert für die Kompatibilität mit Visual Basic an.