.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——扩展(extension)DLL中所定义的类和函数,只能被所MFC应用程序使用。
而且扩展DLL中不能包含MFC库函数,也需要另外安装MFC动态链接库后才能使用。
来源:oschina
链接:https://my.oschina.net/u/1867627/blog/758425