动态库调用(C++)问题

吃可爱长大的小学妹 提交于 2019-12-03 22:24:27

.dll  该文件不用多说

.lib  C++静态编译时需要  否则会编译出错    除非是测试客户端:建立了依赖关系  编译时会自己生成  
      #pragma comment(lib,"..\\Release\\DllKmeans.lib")
 
.h   如果没有该文件  需要自己导入函数  否则找不到函数声明
     #define DllImport extern "C" _declspec(dllimport)
     DllImport bool InitializeMlDll(); 
 
     与之对应的生成方式(被调用端)    如果说是没法使用.h的平台  比如C#  
         #define DllExport extern "C" __declspec(dllexport)

         DllExport bool InitializeMlDll() { }

 

 

使用MFC编写的DLL,可以分成两大类:

    规则DLL——规则(regular)DLL中所包含的函数,可以被所有Windows应用程序使用;

         共享MFC——DLL中不包含MFC库函数,需要另外安装MFC动态链接库后才能使用;

         静态MFC——DLL中包含MFC库函数,可以脱离MFC动态链接库独立使用。

    扩展DLL——扩展(extensionDLL中所定义的类和函数,只能被所MFC应用程序使用

           而且扩展DLL中不能包含MFC库函数,也需要另外安装MFC动态链接库后才能使用。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!