zl程序教程

您现在的位置是:首页 >  后端

当前栏目

手把手教你C语言静态库的开发

2023-09-11 14:15:52 时间

前言

啥是静态库?
静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;
在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库。
静态库文件的格式后缀是 .lib。–百度百科

简化来说就是: 实现代码块的反复利用,静态库类似于一个接口。
举一个简单的例子: 假如说,你写了一个函数里面实现了一个很厉害的功能。你的一个好友想用你这个函数。
但是你不想让他知道内部函数是如何实现的,只是想让调用这个函数。那么静态库就可以满足你这样的需求。
你只需把声明函数的头文件给他,和静态库文件给他就行了。他就可以直接调用你写的函数。而并不知道里
面内部的代码。

静态库的缺点:
静态库虽优点很好,但是也是有缺点的。你调用静态库编译后,生成exe后。静态库
的东西都会直接嵌入到里面。这样你的exe程序会很大。

编写一个简单的静态库

下面跟着我的步伐,来创建一个简单的静态库吧!
第一步:创建一个静态库项目
在这里插入图片描述
在项目里面创建一个demo.cpp和一个demo.h。
这里的过程不在赘述,不会的话可以看我之前写的一篇关于编写头文件的文章。编写一个c程序的头文件
demo.cpp的内容如下:
在这里插入图片描述
demo.h的内容如下:
在这里插入图片描述
生成一下:
在这里插入图片描述
可以看到已经生成了一个demolib,lib的静态库文件。到这里静态库的编写已经完成了。
在这里插入图片描述

使用静态库

接下来就是使用要我们的静态库了。
我又创建了一个新的文件夹,并在该文件夹下创建了一个新的项目。
随便写个东西来编译一下,让其产生我们的cpp文件。
在这里插入图片描述
在这里插入图片描述
将我们刚才写的静态库的头文件和.lib文件复制到该目录下。
如下图所示:

在这里插入图片描述
这里把这两个文件复制到该目录下的目的是: 该项目的工作空间默认是这里,直接弄到这里就不用来配置demo.h和demolib.lib的路径了。
方便使用。
接下来把demo.h导入到该项目中。就可以直接调用我们静态库的函数了。
在这里插入图片描述
如果静态库的路径你没有在默认的工作空间下,就要手动配置,配置过程如下:
在这里插入图片描述
当然.h文件的路径你也可以手动的配置
在这里插入图片描述