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"; 

另请参阅

/app_config

接口定义 (IDL) 文件

importlib

include

导入系统头文件

导入文件和类型库

/ms_ext

/osf