1.创建动态库是生成 .dll .lib 两个文件
2.函数库引用和声明
#pragma comment(lib, "DllTest.lib")
extern "C" _declspec(dllimport) int Sum(int a, int b);
extern "C" _declspec(dllimport) int Mul(int c, int d);
1.创建动态库是生成 .dll .lib 两个文件步骤:
(1)文件 -> 新建 -> 项目 -> win32控制台应用程序 项目名称:DllTest应用程序类型:DLL 附加选项:空项目
(2)建立头文DllTest.h(一定要把函数声明写好)
extern "C" _declspec(dllexport) int Sum(int a, int b);
extern "C" _declspec(dllexport) int Mul(int c, int d);
(3)建立源文件DllTest.cpp(不需要主函数,只写你需要动态调用的函数)
#include "DllTest.h"
int Sum(int a, int b)
{
return a + b;
}
int Mul(int c, int d)
{
return c * d;
}
(4)建立主函数dllmain.cpp(定义 DLL 应用程序的入口点)
#include "windows.h"
BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:break;
case DLL_THREAD_ATTACH:break;
case DLL_THREAD_DETACH:break;
case DLL_PROCESS_DETACH:break;
}
return TRUE;
}
该Dll主函数,格式固定具体参如有疑问请找度娘
(5)编译运行
可能会提升无法启动,但是不要着急,打开项目的Debug文件夹
有 DllTest.dll和 DllTest.lib说明生成文件已经成功
2.函数库引用和声明步骤:
(1)新建或打开已有工程
(2)将生成的 DllTest.dll和 DllTest.lib两个库文件拷贝到上述工程文件夹下
(3)在主函数中添加函数引用和声明
#pragma comment(lib, "DllTest.lib")
extern "C" _declspec(dllimport) int Sum(int a, int b);
extern "C" _declspec(dllimport) int Mul(int c, int d);
(4)在主函数中调用库函数
(5)编译运行