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

.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,能够分红两大类:spa

    规则DLL——规则(regular)DLL中所包含的函数,能够被全部Windows应用程序使用;it

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

         静态MFC——DLL中包含MFC库函数,能够脱离MFC动态连接库独立使用。编译

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

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

相关文章
相关标签/搜索