一般 MIDL 命令列語法
MIDL 編譯器會處理 IDL 檔案和選擇性的應用程式組態檔 (ACF) ,以產生一組輸出檔案。 IDL 檔案介面屬性清單中指定的屬性會決定編譯器是否為 RPC 介面或自訂 OLE 介面產生原始程式檔。
切換選項
midl [command-line-switch [switch-options]] filename
-
命令列參數
-
指定 MIDL 編譯器命令列參數。 參數可以出現在任何序列中。
-
switch-options
-
指定與每個參數相關聯的選項。 每個 MIDL 編譯器參數的參考專案會描述有效的選項。
-
檔案名
-
指定 IDL 檔案的名稱。 此檔案通常具有副檔名 .idl,但可以有另一個或無。
備註
下列清單顯示針對名為 Name.idl 的 IDL 檔案所產生的檔案預設名稱。 您可以使用命令列參數來覆寫這些預設名稱。 請注意,IDL 檔案名可以有 .idl 以外的副檔名,或完全沒有副檔名。
根據預設, (也就是說,如果介面屬性清單不包含 物件 或 本機 屬性) ,編譯器就會為 RPC 介面產生下列檔案:
- 用戶端存根 (name_c.c)
- 伺服器存根 (name_s.c)
- 標頭檔 (name.h)
當 物件 屬性出現在介面屬性清單中時,編譯器會產生 COM 介面的下列檔案:
- 介面 Proxy 檔案 (name_p.c)
- 介面標頭檔 (name.h)
- 介面 UUID 檔案 (name_I.c)
當 本機 屬性出現在介面屬性清單中時,編譯器只會產生介面標頭檔 Name.h。
Microsoft RPC 提供的 MIDL 編譯器會視需要叫用 C 預處理器來處理 IDL 檔案。 它不會自動叫用 C 編譯器來編譯產生的檔案。
注意
隨附于 Microsoft RPC 的 MIDL 編譯器會使用與 DCE IDL 編譯器不同的命令列語法。
MIDL 編譯器會切換 /env、 /server、 /sstub和 /out ,會影響伺服器存根檔案。
從 MIDL 6.0.359 版開始,MIDL 編譯器的預設命令列選項為 /Oicf /robust。 若要停用 /robust,請指定 /no_robust 選項。
標頭檔
標頭檔包含 IDL 檔案中宣告之所有資料類型和作業的定義。 標頭檔必須包含在呼叫已定義作業的所有應用程式模組、實作定義的作業,或操作定義的型別。
MIDL 編譯器會切換 /header 和 /out 會影響標頭檔。