import 特性

import 指令指定另一个 IDL、ODL 或头文件,其中包含你希望从主 IDL 文件引用的定义。

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

parameters

filename

指定要导入的标头、IDL 或 ODL 文件的名称。

备注

使用 import 指令,导入文件的所有 IDL 语句(如 typedef、常量声明和接口定义)都可供导入 。IDL 文件。

导入的文件是单独处理的 (意味着从导入的 IDL) 独立调用 CPP 预处理器。 这样,预处理器指令(如 define)不会从导入的标头或 IDL 文件继续到 # 导入的 IDL 文件。

与 C 语言预处理器宏 # 包含 一样 ,import 指令指示编译器包括导入的 IDL 文件中定义的数据类型。 与 # include 指令 不同 ,import 指令将忽略过程原型,因为不会为导入文件内任何内容生成存根。

有关使用导入将头 文件 包括在 IDL 文件中的具体信息,请参阅 导入系统头文件

C 语言标头 (。为) 生成的 H 文件不直接包含导入的类型,而是为对应于导入接口的头文件生成 include # 指令。 例如,导入 BASE 时。将 IDL 转换为派生。IDL,生成的头文件 DERIVED。H 将包含指令 # include BASE.H。

下列规则适用:

  • import 关键字是可选的,可以在 IDL 文件中出现零次或多次。
  • 每个 import 关键字都可以与多个文件名相关联。
  • 用逗号分隔多个文件名。
  • 必须将文件名括在引号内,然后用分号 (;) 。
  • 可以将没有属性的接口导入到另一个 IDL 文件中。 但是,接口必须仅包含数据类型;它不能包含任何过程。 即使导入的接口中包含一个过程,也必须指定 本地或 UUID 属性。
  • 导入 函数 是幂等的,也就是说,多次导入接口没有额外的效果。

备注

导入指令 的行为 独立于 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

包括

导入系统头文件

导入文件和类型库

/ms _ ext

/osf