DLL的调用

三种使用DLL的方式:#import, #pragma comment, LoadLibrary ,他们之间的区别:

  1. #import 用户从类型库中结合信息,该类型库的内容被转换为C++类,主要用于描述COM界面
  2. #pragma comment 一般是静态加载DLL时(对应的头文件、DLL,和LIB缺一不可,并且生产的EXE没有找到DLL文件就会导致“应用程序初始化失败”)
  3. LoadLibrary一般是动态加载DLL时(并不需要对应的头文件,和LIB),在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行过程中根据需要决定应调用哪些函数。具体步骤是:用 LoadLibrary 函数加载动态链接库到内存,用 GetProcAddress函数动态获得 DLL 函数的入口地址。当一个 DLL 文件用 LoadLibrary 显式加载后,在任何时刻均可以通过调用 FreeLibrary 函数显式地从内存中把它给卸载。

根据编程经历,使用第三方DLL时,动态库的使用比较常见,所以一般是使用#pragma comment和LoadLibrary 的当时调用动态库。 

 

你可能感兴趣的:(windows,编程)