import 特性
import 指令指定另一个 IDL、ODL 或头文件,其中包含要从main IDL 文件引用的定义。
import "filename" [[ , ... ]] ;
参数
-
filename
-
指定要导入的标头、IDL 或 ODL 文件的名称。
备注
使用 import 指令,导入的文件中的所有 IDL 语句(如 typedef、常量声明和接口定义)都可用于导入 。IDL 文件。
导入的文件单独处理 (这意味着从导入 IDL 文件) 独立调用 CPP 预处理器。 这样,预处理器指令(如 #define)不会从导入的标头或 IDL 文件延续到导入的 IDL 文件。
与 C 语言预处理器宏 #include一样, import 指令告知编译器包括导入的 IDL 文件中定义的数据类型。 与 #include 指令不同, import 指令会忽略过程原型,因为不会为导入的文件中的任何内容生成存根。
有关使用 导入 在 IDL 文件中包括头文件的特定信息,请参阅 导入系统头文件。
C 语言标头 (。为接口生成的 H) 文件不直接包含导入的类型,而是为与导入的接口对应的头文件生成 #include 指令。 例如,导入 BASE 时。将 IDL 输入到 DERIVED 中。IDL,生成的头文件 DERIVED。H 将包含 base.H #include 指令。
下列规则适用:
- 导入关键字 (keyword) 是可选的,可以在 IDL 文件中出现零次或多次。
- 每个导入关键字 (keyword) 都可以与多个文件名相关联。
- 用逗号分隔多个文件名。
- 必须将文件名括在引号内,并使用分号 (;) 结束 import 语句。
- 可以将没有属性的接口导入到另一个 IDL 文件中。 但是,接口必须仅包含数据类型;它不能包含任何过程。 如果导入的接口中甚至包含一个过程,则必须指定 本地 或 UUID 属性。
- import 函数是幂等的,也就是说,多次导入接口不会产生其他效果。
注意
导入指令的行为独立于 MIDL 编译器模式开关 /ms_ext (默认) 、/osf 和 /app_config。 但是,编译器模式 (/osf 或 /ms_ext) 可能会影响导入类型的指针属性修饰。 有关详细信息,请参阅 指针属性类型继承。
示例
import "myoldodl.odl";
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl";
另请参阅