环境:vs2015,64位win7
一、生成C++dll:
1、首先建立class library工程:
2、新建ExportDLL.h头文件:
3、新建ExportDLL.cpp文件:
4、编译生成ExportDLL.dll文件;
二、使用dll
1、新建工程(控制台程序便可);
2、新建Test.cpp文件,代码如下:
using namespace System;
using namespace std;
using std::string;
typedef void(*HelloW) ();
int main(int argc, _TCHAR* argv[]) {
HelloW hellow;
HMODULE hm = LoadLibrary(TEXT(“ExportDLL.dll”));
if (hm != NULL) {
hellow = (HelloW)GetProcAddress(hm, “helloWorld”);
if (hellow == NULL) {
FreeLibrary(hm);
return 0;
}
hellow();
}
FreeLibrary(hm);
return 0;
}
3、编译执行,控制台成功打印”hello world”
注:
1、HMODULE hm = LoadLibrary(TEXT(“ExportDLL.dll”));
使用LoadLibrary函数时,网上查询的很多都是直接使用LoadLibrary(“ExportDLL.dll”);方式,但是不知为什么,我这里总是报错,无法编译;
2、程序运行结束一定记得释放资源FreeLibrary(hm);
3、关于函数指针的使用在次不详述;
参考:
http://blog.csdn.net/g710710/article/details/7255744
http://blog.sina.com.cn/s/blog_a50d2d740101fwuq.html