整理一篇之前制作过得dll演示文档,还是之前用的vs2010版本的。
-
打开VS2010,新建Project工程文件,选择新建一个Win32 Console Application,在接下来的文件中,overview切换到application settings选项,按如图所示新建DLL 空文件。
-
新建.cpp(此处的.cpp需要封装成dll的文件库,我用的是simplecal.cpp)和相对应建立.hpp文件(此处的.hpp文件名应该与.cpp文件相对应)
-
在新建的main.cpp文件夹中编写所需要封装的函数,下面是我写入simplecal.cpp中的简单函数
#define DLL_IMPLEMENT
#include"simplecal.h"
int add(int a,int b)
{
return(a+b);
}
int mul(int a,int b)
{
return(a*b);
}
- 在对应的头文件.hpp(此处为simplecal.hpp)将需要标注的函数标记(一些特殊的定义以及细节部分需要注意)
#pragma once
#ifdef DLL_IMPLEMENT
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
DLL_API int add(int a,int b);
DLL_API int mul(int a,int b);
- 点击运行程序,此时显示建立成功,dll文件封装完成。
- 将文件夹*\main\Debug文件中的dll文件、lib文件和*\main\main中的simplecal.h文件复制出来、随后复制到其他文件夹中。
- 新建一个新的工程文件
- 然后新建.cpp文件,在空的.cpp文件中点击build->build solution(此时会出现错误,不需要管它,在这里我们只需要让Debug文件夹出现就可以)
- 将步骤6中的.dll文件复制到*\test\Debug文件夹中,.lib文件和.h文件则复制到*\test\test工程文件夹中。
- 将.hpp通过添加已存在的.hpp添加到新工程中
- 右键工程文件夹->属性功能,打开configuration properties->linker->input->additional dependencies 将对应的.lib文件(此处我的为main.lib)添加,点击ok,完成测试的配置。
- 在.cpp文件中编写调用函数的程序
#include"simplecal.h"
#include<iostream>
#pragma comment(lib,"main.lib")
using namespace std;
int main()
{
cout<<add(2,3)<<endl;
cout<<mul(2,3)<<endl;
system("pause");
return 0;
}
- 点击build->build solution,调试即出结果,完成。