VS2010创建和调用静态链接库

VS2010创建和调用静态链接库

       1.创建静态链接库

       在VC6.0的年代,静态链接库还作为一个单独的项目摆出来,但是时过境迁,在VS2010的时候,神马不依托于MFC的静态链接库,动态链接库等都归于一类“Win32项目”。

       clip_image001

       因此,创建静态链接库,就要选择“Win32项目”,命好名字后,下一步,在出现的选择对话框中选择静态库(S),附加选项中的“预编译头”可勾可不勾。

clip_image002

       点击完成创建项目。至此一个静态链接库(LIB)的项目已经创建成功,下面要做的就是给静态链接库添加我们自己的内容。

       分别添加头文件(.H)和其对应的(.CPP)文件,这里我添加的是Lib.H和Lib.CPP:

clip_image003

给头文件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);
}

 

自此,一个简单的静态链接库已经完成,编译后,弹出对话框

clip_image004

可以发现,我们生成的并不是EXE的可执行文件,而是LIB的静态链接库,程序无法执行,调试的话也有办法,在下一次我会将它和动态链接库的调试一起说明。

clip_image006

总之,程序调试了,赞一个!

 

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<stdio.h>
#include<stdlib.h>
#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;
}

       执行结果如下:

clip_image007

       怎么样?是不是很简单呢?

本文固定链接: http://www.dreamcastle.me/2124.html | 梦之城堡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值