Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přepínače /Oi a /Oic směrují kompilátor MIDL tak, aby používal plně interpretovanou metodu zařazování. Přepínač /Oicf poskytuje další vylepšení výkonu.
midl /{Oi | Oic | Oif | Oicf}
Možnosti přepínače
-
Oi
-
Určuje plně interpretovanou metodu pro zařazování kódu zástupných procedur předávaného mezi klientem a serverem.
Poznámka:
Tento přepínač je zastaralý. Doporučuje se použít přepínač /Oicf na svém místě.
-
Oic
-
Určuje metodu zařazování bez kódu proxy, která poskytuje všechny funkce /Oi , a také snižuje velikost kódu zástupných procedur klienta pro rozhraní objektů.
Poznámka:
Tento přepínač je zastaralý. Doporučuje se použít přepínač /Oicf na svém místě.
-
Oif nebo Oicf
-
Určuje metodu zařazování bez kódu, která zahrnuje všechny funkce poskytované /Oi a /Oic , ale používá nový interpret (řetězce rychlého formátu), který poskytuje lepší výkon než /Oi nebo /Oic. Tento přepínač zahrnuje nedávná vylepšení RPC a doporučuje se pro moderní scénáře RPC.
Poznámky
Vezměte prosím na vědomí omezení týkající se podpůrných platforem.
Kompilátor MIDL 3.0 poskytuje dvě metody pro zařazování kódu: plně interpretovaný ( /Oi, /Oic a /Oicf) a smíšený režim ( /Os). Počínaje verzí MIDL 6.0.359 kompilátor MIDL ve výchozím nastavení generuje zástupné procedury /Oicf/robust . Některé jazykové funkce nejsou v některých režimech podporované. V takovém případě kompilátor automaticky přepne do příslušného režimu a vydá upozornění.
Pokud se jedná o problém, může být nejlepší metodou smíšeného režimu ( /Os). V tomto režimu kompilátor zvolí zařazování některých parametrů do vygenerovaných zástupných procedur. Výsledkem je větší velikost zástupných procedur, ale nabízí vyšší výkon.
Plně interpretovaná metoda zařazuje data zcela offline. Tím se výrazně zmenší velikost kódu zástupných procedur, ale výsledkem je snížení výkonu. U plně interpretované metody platí limit 16 parametrů pro každou proceduru. Jakýkoli postup obsahující více než 16 parametrů se automaticky zpracuje v režimu /Os . Mezi interpretovanými režimy nabízí /Oicf nejlepší výkon a /Oi nabízí nejlepší zpětnou kompatibilitu.
Možnost /Oif můžete použít, pokud vaše aplikace používá funkce MIDL, které byly zavedeny s MIDL 3.0, jako jsou atributy [wire_marshal] a [user_marshal]. Pokud vaše aplikace používá kanály , musíte použít možnost /Oif ; Pokud zadáte jiný režim, kompilátor MIDL se přepne na /Oif.
Pokud chcete doladit způsob zařazování kódu zástupných procedur, Microsoft RPC poskytuje atribut ACF [optimize]. Tento atribut se používá jako atribut rozhraní nebo atribut operace k výběru režimu zařazování pro jednotlivá rozhraní nebo pro jednotlivé operace.
Konvence volání
Zástupné procedury generované kompilátorem MIDL v interpretované metodě pomocí přepínačů /Oi, /Oic nebo /Oif musí být během kompilace jazyka C zkompilovány jako procedura stdcall nebo cdecl. Konvence volání PASCAL nebo Fastcall nebude fungovat. Kromě toho musí být zástupný kód serveru zkompilován jako stdcall.
Příklady
midl /Oi filename.idl
midl /Oic filename.idl
midl /Oif filename.idl
Viz také