自己编写DLL动态链接库文件
入加函数和出口函数
int WINAPI DllMain(HINSTANCE hInstance,DWORD fdwReason,PVOID pReason)
fdwReason的几个case的情况:
#define DLL_PROCESS_ATTACH 1 //调用进程时
#define DLL_THREAD_ATTACH 2 //调用线程时
#define DLL_THREAD_DETACH 3 //释放线程时
#define DLL_PROCESS_DETACH 0 //释放进程时
需要把调用方式要说明,是用C调用方式还是CPP调用方式
#ifdef __cplusplus //C++方式调用,需要用C的方式
#define EXPORT extern “C” __declspec(dllexport)
#else
#define EXPORT __declspec(dllexport)
#endif
其中extern "C"是C调用函数的方式,保证这个函数使用C方法进行调用
__declspec(dllexport) 的解释
在 32 位编译器版本中,可以使用 __declspec(dllexport) 关键字从 DLL 导出数据、函数、类或类成员函数。
__declspec(dllexport) 将导出指令添加到对象文件
若要导出函数,__declspec(dllexport) 关键字必须出现在调用约定关键字的左边(如果指定了关键字)。例如:
__declspec(dllexport) void __cdecl Function1(void);
若要导出类中的所有公共数据成员和成员函数,关键字必须出现在类名的左边,如下所示:
c