/Oi-schakelaar

De switches /Oi en /Oic leiden de MIDL-compiler om een volledig geïnterpreteerde marshalingmethode te gebruiken. De /Oicf-switch biedt extra prestatieverbeteringen.

midl /{Oi | Oic | Oif | Oicf}

Schakelen tussen opties

Oi

Hiermee geeft u de volledig geïnterpreteerde methode voor marshaling stub-code doorgegeven tussen client en server.

Opmerking

Deze switch is verouderd. Het wordt aanbevolen om de /Oicf-switch op zijn plaats te gebruiken.

 

Oic

Hiermee geeft u de codeloze proxymethode van marshaling die alle functies van /Oi biedt en ook de grootte van de stub-code van de client voor objectinterfaces verder verkleint.

Opmerking

Deze switch is verouderd. Het wordt aanbevolen om de /Oicf-switch op zijn plaats te gebruiken.

 

Oif of Oicf

Hiermee geeft u de codeloze proxymethode van marshaling die alle functies bevat die worden geleverd door /Oi en /Oic , maar een nieuwe interpreter (snelle notatietekenreeksen) gebruikt die betere prestaties biedt dan /Oi of /Oic. Deze switch bevat recente RPC-verbeteringen en wordt aanbevolen voor moderne RPC-scenario's.

Opmerkingen

Let op de beperkingen met betrekking tot ondersteunende platforms.

De MIDL 3.0-compiler biedt twee methoden voor marshaling-code: volledig geïnterpreteerd ( /Oi, /Oic en /Oicf) en mixed-mode ( /Os). Vanaf MIDL versie 6.0.359 genereert de MIDL-compiler standaard /Oicf/robuuste stubs. Sommige taalfuncties worden in sommige modi niet ondersteund. In dit geval schakelt de compiler automatisch over naar de juiste modus en geeft een waarschuwing uit.

Als de prestaties een probleem zijn, kan de methode mixed-mode ( /Os) de beste methode zijn. In deze modus kiest de compiler ervoor om bepaalde parameters inline te marshalen in de gegenereerde stubs. Hoewel dit resulteert in grotere stubgrootte, biedt het verbeterde prestaties.

De volledig geïnterpreteerde methode marshals gegevens volledig offline. Dit vermindert aanzienlijk de grootte van de stub-code, maar resulteert in verminderde prestaties. Met de volledig geïnterpreteerde methode is er ook een limiet van 16 parameters voor elke procedure. Elke procedure met meer dan 16 parameters wordt automatisch verwerkt in de /Os-modus . Onder de geïnterpreteerde modi biedt /Oicf de beste prestaties en /Oi biedt de beste compatibiliteit met eerdere versies.

U kunt de optie /Oif gebruiken als uw toepassing GEBRUIKMAAKT van MIDL-functies die zijn geïntroduceerd met MIDL 3.0, zoals de kenmerken [wire_marshal] en [user_marshal].. Als uw toepassing pijpen gebruikt, moet u de optie /Oif gebruiken; als u een andere modus opgeeft, schakelt de MIDL-compiler over naar /Oif.

Als u de manier wilt verfijnen waarop uw stub-code marshaled is, biedt Microsoft RPC een ACF-kenmerk [optimize]. Dit kenmerk wordt gebruikt als een interfacekenmerk of bewerkingskenmerk om de marshaling-modus te selecteren voor afzonderlijke interfaces of voor afzonderlijke bewerkingen.

Oproepconventies

Stubs die worden gegenereerd door de MIDL-compiler in de geïnterpreteerde methode met behulp van de /Oi-, /Oic- of /Oif-switches , moeten worden gecompileerd als een stdcall- of cdecl-procedure tijdens de C-compilatie. Een PASCAL- of Fastcall-oproepconventie werkt niet. Daarnaast moet de server-stub worden gecompileerd als stdcall.

Examples

midl /Oi bestandsnaam.idl

midl /Oic filename.idl

midl /Oif bestandsnaam.idl

Zie ook

/Robuuste

/no_robust

Algemene syntaxis van de MIDL-opdrachtregel

/Os

Optimaliseren

/no_format_opt