已用于合并类型库中的信息。该类型库的内容转换为C++类,主要描述COM接口。

#import "filename" [attributes]

#import <filename> [attributes]

例如:

#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")【这是ADO访问数据库方式需要用的】

下面对上述理论参数进行说明:

filename---指定要导入的类型库。内容可以是:

1.包含一个类型库的文件的名称,如.olb、.tlb或.dll文件。如上面例子中的msado15.dll。

2.类型库中的空间的progid。

注意:当使用在64 bits操作系统的交叉编译器编译的时候,该编译器可以只读取32 bits注册表配置。建议使用本地64 bits编译器编译,注册64 bits类型共享库。

3.类型库的库ID。

例如:#import "libid:12341234-1234-1234-1234-123412341234" version("4.0") lcid("9")

如果不指定版本或lcid,适用于progid的规则也是用与libid。

4.可执行(.exe)文件。

5.包含类型库资源(例如.ocx)的库(.dll)文件。

6.保留类型库的符合文件。

7.可由“LoadTypeLib”API理解的其他文件形式。

attributes---一个或多个#import特性。用空格或逗号分隔每个特性。

例如:

#import "..\drawct\drawctl.tlb" no_namespace,raw_interface_only

OR

#import "..\drawct\drawctl.tlb" no_namespace raw_interfaces_only

备注:

filename 带引号的形式  指示预处理器首先在包含#import语句文件的目录中,然后再内容中包括(#include)该文件的任何文件的目录中查找类型库文件。预处理器然后沿如下所示的路径搜索。

带尖括号形式   指示预处理器沿下列路径搜索类型库文件:

1. “PATH”环境变量路径列表

2. “LIB”环境变量路径列表

3.  由/I(附加包含目录)编译器选项指定的路径,但该编译器搜索no_registry 属性的另一种类型库引用的类型库。

#import 创建两个标题文件来重新构造C++源代码内的类型库内容。主要标头文件类似于生产有Microsoft“接口定义语言”(MIDL)编译器生成的文件,但是是使用附加的编译器生成的代码。“主要标头文件”具有与类库相同的基名称以及.TLH扩展。次要头文件具有与类库相同的基名称,并包含有.TLH扩展。它在主要头文件中包含编译器生成的成员函数的实现并包含(#include)。

两个标题文件都位于/Fo(名称的对象文件)选项指定的输出目录中。然后它们读取由编译器编译,就像主要头文件由#include指令命名。

以下编译程序优化随#import指令一起:

1.创建头文件时,给定相同时间戳和类型库。

2.处理#import时,编译器首先检查标题是否存在并且最新。如果是,则不需要重新创建。

#import指令也可参与最小重新生成并能放置在预编译头文件中。

编译器为当前进程所需要的任何类型的类型依赖库提供完成路径。路径以注释形式写入编译器为每个以已处理的类型库生成的类型库表头(.TLH)。

如果类型库包含对其它类型中定义的类型的引用,则.TLH文件将包含以下排序的注释:

//Cross-refferenced type libraries:

//#import "c:\path\typelib0.tlb"

#import注释的实际文件名为交叉引用类型库的完整路径,存储在注册表。如果由于缺少类型定义遇到错误,请检查在.TLH头的注释来看可能需要先导入那个独立类型库。

首先,必须确定独立注释中的哪一项并非由系统标头提供,然后在独立类型共享库的#import指令前的某个的地方提供#import指令,已解决错误。

#import 可以选择包含一个或多个特性。这些特性通知编译器修改类型库标头的内容。杠(\)符号可以用来在单个#import语句中包含附加行。即起一种连接作用(和linux内核代码方式相似)

如:

#import “test.lib” no_namespace \

rename("OldName", "NewName")

#import 指令 (C++)相关推荐

  1. Less的@import指令

    Less中,可以通过 @import指令来导入外部文件.@import指令可以放在代码中的任何位置,导入文件时的处理方式取决于文件的扩展名: 如果扩展名是 .css,文件内容将被原样输出. 如果是任何 ...

  2. .aspx页面 引用命名空间 (Import 指令,web.config)

    单个页面 要引用其他命名空间,在页面中写: < %@ import namespace="system.text" %> 注:即可,需要引用多个命名空间,不能写多个na ...

  3. [转]JSP常用指令

    为什么80%的码农都做不了架构师?>>>    一.指令元素 1.page指令 import session contentType buffer isTreadSafe info ...

  4. python3 import 和__import__() 的区别

    首先来说一下两者的区别: import指令做了两件事:1)搜索module,2)绑定到局部变量 内置函数__import__()只做了一件事:搜索module import指令执行过程中是调用__im ...

  5. Freemaker FTL指令常用标签及语法

    1.字符输出 ${emp.name?if_exists} // 变量存在,输出该变量,否则不输出 ${emp.name!} // 变量存在,输出该变量,否则不输出 ${emp.name?default ...

  6. python import from class_Python: import vs from (module) import function(class) 的理解

    Python: Import vs From (module) import function(class) 本文涉及的 Python 基本概念: Module Class import from . ...

  7. java中Freemarker list指令详解

    java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合. 定义 <#list nameList as names> ${names} </#list ...

  8. STM32 串口 #pragma import(__use_no_semihosting)解析

    标准库函数的默认输出设备是显示器, 要实现在串口或 LCD 输出,必须重定义标准库函数里调用的与输出 设备相关的函数 . 例如 :printf 输出到串口,需要将 fputc 里面的输出指向串口 (重 ...

  9. scss怎么引入到html,Sass 导入指令

    描述 导入指令,导入SASS或SCSS文件. 它直接需要导入文件名. 在SASS中导入的所有文件将在单个CSS文件中组合.当我们使用@import规则时,很少有事情编译到CSS:文件扩展名<.c ...

  10. 彻底搞清楚javascript中的require、import和export

    为什么有模块概念 理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块. 但是,Javascript不是一种模块化编程语言,在es6以前,它是不支持"类"( ...

最新文章

  1. 9 岁自学编程、24 岁身价涨至数百万美元,与微软一较高低的大佬多厉害?
  2. 到今天了,今天又结束了
  3. move语句java_Oracle中的move命令
  4. 9.1-全栈Java笔记: 容器泛型—认识Collection接口
  5. 我学python前一句_Python学习教程:人生苦短,我用Python?入门前你要知道这些
  6. python拆分excel的sheet为单文件_WPS 2019 多个sheet表拆分成独立的excel文件
  7. ubuntu 网卡突然无法连接
  8. REST /使用提要发布事件
  9. Java开发人员应该知道的7种新工具
  10. MySQL中表连接方式
  11. MATLAB实现控制鼠标移动和点击
  12. PDFObject插件不能加载远程链接的问题
  13. 读书笔记——心理学之影响力
  14. AWS认证是什么意思?怎么报考?
  15. 【Android】iOS开发中xconfig和script脚本的使用
  16. postman设置前置条件
  17. web前端期末大作业网页设计与制作 ——汉口我的家乡旅游景点 5页HTML+CSS+JavaScript
  18. pymysql数据库的水果店销售系统之管理员端1.0
  19. Socket网络编程精讲
  20. 梯度下降法和牛顿法计算开根号

热门文章

  1. 狗狗大全(送给喜欢狗的人)
  2. SpringDataJPA中使用Specification进行表连接多条件分页动态查询
  3. 数学建模:地貌图的完成
  4. 程序猿12个“人艰不拆”的真相
  5. 前端method常见请求方式
  6. [BFS]愿天下有情人都是失散多年的兄妹
  7. c语言小球碰壁,小球碰壁效果
  8. macos备份文件服务器地址,mac电脑备份文件的最佳方法
  9. ESP32 优化笔记(一)内存优化
  10. 来个水帖:下载Dev