创建DLL动态库
1、新建Dll项目
文件->新建->项目->Visual C++ win32控制台程序(填写项目名MyDll)->下一步->(应用程序类型)勾选:DLL,(附加选项)勾选:空项目->完成
2、添加新建项MyDll.cpp
因显示加载dll时仅需要用到项目生成的dll文件,所以这里可以不使用.h文件。
#include <iostream>
int __stdcall Add(int a, int b)
{
return a + b;
}
void __stdcall myPrint(const char* s)
{
std::cout << s << std::endl;
}
__stdcall是Microsoft对编译器的一个扩展,是一种用于调用Win32 API函数的调用约定。使用__stdcall约定时函数栈的清理由被调用方执行,因此可以解决不同的编译器生成函数栈方式不同的问题,也就是使用该约定生成的dll可以跨编译器使用。另外如果导出函数需要给win32汇编使用或者作为系统回调函数使用,使用__stdcall声明方式是非常重要的。