匯入屬性

匯入指令指定另一個 IDL、ODL 或標頭檔案,包含你想從主 IDL 檔案中參考的定義。

import "filename" [[ , ... ]] ;

參數

filename

指定要匯入的標頭名稱、IDL 或 ODL 檔案名稱。

備註

透過 匯入 指令,匯入檔案中的所有 IDL 語句,如 typedef、常數宣告和介面定義,皆可被匯入者使用。IDL 檔案。

匯入的檔案會與匯入的 IDL 檔案分開處理(也就是說 CPP 預處理器是獨立呼叫的)。 如此一來,預處理器指令(如 #define)不會從匯入的標頭或 IDL 檔案延續到匯入的 IDL 檔案。

與 C 語言預處理器 巨集 #include 類似, 匯入 指令告訴編譯器包含匯入 IDL 檔案中定義的資料型態。 與 #include 指令不同, 匯入 指令忽略程序原型,因為匯入檔案中不會產生任何存根。

關於如何使用 匯入 在 IDL 檔案中包含標頭檔的具體資訊,請參見 「匯入系統標頭檔案」。

C 語言標頭(.H) 為介面產生的檔案並不直接包含匯入的類型,而是產生對應匯入介面標頭檔的 #include 指令。 例如,當你匯入 BASE。IDL 進入你的 DERIVED。IDL,產生的標頭檔 DERIVED。H 會包含 BASE.H #include 指令。

適用的規則如下:

  • 匯入關鍵字為可選,且可在 IDL 檔案中出現零次或多次。
  • 每個 匯入 關鍵字都可以與多個檔案名稱相關聯。
  • 多個檔名用逗號分隔。
  • 您必須將檔案名稱以引號包圍,並以分號(;) 結尾。
  • 你可以將沒有屬性的介面匯入另一個 IDL 檔案。 然而,介面必須只包含資料型別;它不能包含任何程序。 如果匯入介面中包含哪怕一個程序,你必須指定 本地UUID 屬性。
  • 匯入函數是冪零式的——也就是說,匯入一個介面超過一次不會有額外影響。

備註

匯入指令的行為獨立於 MIDL 編譯器模式開關 /ms_ext(預設)、/osf/app_config。 然而,編譯器模式(/osf/ms_ext)可能會影響匯入型別的指標屬性裝飾。 詳情請參見 Pointer-Attribute 型繼承

 

Examples

import "myoldodl.odl";  
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl"; 

另請參閱

/app_config

介面定義(IDL)檔案

importlib

包括

匯入系統標頭檔案

匯入檔案與型式函式庫

/ms_ext

/osf