加载库确切地说明了 #import 的作用

Loadlibrary excatly what #import does?

本文关键字:#import 作用 说明了 加载      更新时间:2023-10-16

根据我的理解#import在编译时获取所需的标头/依赖项。

Load library 在运行时从正在运行的 PC 获取其依赖项。如果错误,请纠正我。

LoadLibrary #import到底是做什么的?

#import 指令是一个代码生成器。 它采用类型库的路径,类型库是一种独立于语言的方式来描述用任意语言编写的代码公开的类型。 等效于 C 或 C++ 中的 .h 文件。 可以是 .tlb 文件,最常见的类型库作为资源嵌入在可执行文件中。 编译器将类型库内容反编译为等效的 C 和 C++ 声明。

该指令生成两个文件,您可以在构建目录中找到它们。 tlh 文件是 C 或 C++ 编译器可以使用的头文件。 .tli文件包含C++包装函数,这使得调用接口方法更不容易出错。 基于负责所需引用计数的 _com_ptr_t 智能指针类,包装器函数将错误代码转换为C++异常。

根本没有LoadLibrary,这由 COM 基础结构处理。 创建公开类型的对象时自动调用。 CoCreateInstance(( 是负责它的工厂函数。 注册表包含查找匹配的可执行文件所需的信息。

有一个学习曲线,避免偷工减料。 关于它的书籍很多很多,尽管今天许多已经绝版,但 C++ 包装类的 MSDN 登录页在这里。