VS2010创建和调用静态链接库
1.创建静态链接库
在VC6.0的年代,静态链接库还作为一个单独的项目摆出来,但是时过境迁,在VS2010的时候,神马不依托于MFC的静态链接库,动态链接库等都归于一类“Win32项目”。
因此,创建静态链接库,就要选择“Win32项目”,命好名字后,下一步,在出现的选择对话框中选择静态库(S),附加选项中的“预编译头”可勾可不勾。
点击完成创建项目。至此一个静态链接库(LIB)的项目已经创建成功,下面要做的就是给静态链接库添加我们自己的内容。
分别添加头文件(.H)和其对应的(.CPP)文件,这里我添加的是Lib.H和Lib.CPP:
给头文件Lib.H添加内容:
#ifndef LIB_H
#define LIB_H
extern "C" __declspec(dllexport) int recursionSum(int num); //声明为C编译,连接方式为外部函数
#endif
在头文件中我们添加了一个导出函数int recursionSum(int num),其他的内容为固定格式。
然后在CPP文件中添加int recursionSum(int num)的声明:
#include"Lib.h"
int recursionSum(int num)
{
if(num==1)
return 1;
else
return num+=recursionSum(num-1);
}
自此,一个简单的静态链接库已经完成,编译后,弹出对话框
可以发现,我们生成的并不是EXE的可执行文件,而是LIB的静态链接库,程序无法执行,调试的话也有办法,在下一次我会将它和动态链接库的调试一起说明。
总之,程序调试了,赞一个!
2.调用静态链接库
为了调用刚刚生成的静态链接库,我们创建一个简单的Win控制台程序。要使用LIB文件,需要两个文件:
1. LIB文件
2. 生成LIB时使用的头文件(在这里是Lib.H)
为了方便,将两个文件拷贝到现在使用的项目的目录下,然后在mian()函数之前添加上
#include"Lib.h"
#pragma comment(lib,"Static_Link_Libiary_Demo_1.lib")
就可以使用静态链接库里面的函数int recursionSum(int num)。
使用方法就跟使用函数一样,直接调用就可以。
给出一段我使用LIB的代码:
#include
#include
#include"Lib.h"
#pragma comment(lib,"Static_Link_Libiary_Demo_1.lib")
int main()
{
printf("1到100的累加的值为:%d\n",recursionSum(100));
system("pause");
return 0;
}
执行结果如下:
怎么样?是不是很简单呢?
本文固定链接: http://www.dreamcastle.me/2124.html | 梦之城堡