匯入指令指定另一個 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";
另請參閱