一般 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 會影響標頭檔。