import 特性

导入指令指定另一个 IDL、ODL 或头文件,其中包含要从主 IDL 文件引用的定义。

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

参数

filename

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

注解

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

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

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

有关使用 导入 将头文件包含在 IDL 文件中的特定信息,请参阅 导入系统头文件

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

下列规则适用:

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

注意

导入指令的行为独立于 MIDL 编译器模式开关 /ms_ext (默认) 、/osf/app_config。 但是,编译器模式 (/osf/ms_ext) 可能会影响导入类型的指针属性修饰。 有关详细信息,请参阅 Pointer-Attribute 类型继承

 

示例

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

另请参阅

/app_config

接口定义 (IDL) 文件

importlib

包括

导入系统头文件

导入文件和类型库

/ms_ext

/osf