关于LIb和DLL的区别,请查看这篇文章 ,说的很详细:http://www.cppblog.com/amazon/archive/2009/09/04/95318.html
一、创建Lib
1.新建Win2控制台程序,选择“静态库”,点击完成!
2.像普通的Win32程序一样,写方法,不同的是不需要main(),如下:
#include "stdafx.h"
#include "my_Add_Lib.h"
int addInt(int num1,int num2) //在头文件中声明
{
return num1 + num2;
}
int subInt(int num1,int num2) //在头文件中声明
{
return num1 - num2;
}
3.生成解决方案,不出意外的话就会在Debug文件加下找到 相应的库,这个就是我们做好的静态链接库。
4。将项目中的Lib文件和相应的头文件拷贝出来,这就是可以用于其他的程序了。(放在其他程序的目录下就好了)
5.如何调用?
#include "stdafx.h"
#include "my_Add_Lib.h"
#pragma comment(lib,"myLib.lib");
int main()
{
int a = 100;
int b = 50;
printf("a + b = %d;\n",addInt(a,b));//这两个方法都是在Lib中定义的
printf("a - b = %d;\n",subInt(a,b));
getchar();
return 0;
}
二、创建DLL
1.首先创建工程,与静态链接库工程不同的是,这里选择的是“DLL”
2.创建工程后,添加一个cpp文件(不需要.h头文件),在cpp文件中添加一下代码
_declspec(dllexport) int addInt(int num1,int num2)
{
return num1 + num2;
}
_declspec(dllexport) int subInt(int num1,int num2)
{
return num1 - num2;
}
_declspec(dllexport) int mulInt(int num1,int num2)
{
return num1 * num2;
}
_declspec(dllexport) float divInt(int num1,int num2)
{
return num1 / num2;
}
其中,_declspec(dllexport)是DLL文件的固定格式,生成解决方案即可在项目目录下找到一个Lib和一个DLL文件。到此DLL创建成功!
3.将2中创建的Lib和DLL文件 拷贝到要使用的项目中,并在项目中添加以下代码即可使用DLL:
//对应的DLL的Lib
#pragma comment(lib,"myDLL.lib");
//DLL中的四个方法
extern int addInt(int num1,int num2);
extern int subInt(int num1,int num2);
extern int mulInt(int num1,int num2);
extern float divInt(int num1,int num2);