VS2010创建和调用静态链接库

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 | 梦之城堡

你可能感兴趣的:(window笔记)