早起的鸟儿有虫吃,早起学习C语言的猫儿有鸟吃。
哈喽大家早上好,今天猫儿想要给大家介绍的是有关C语言中静态库的概念
首先什么是静态库。库的定义有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。静态库就是指在链接阶段,将汇编生成的目标文件.0与引用到的库一起打包到可执行文件中,此种链接方式称为静态链接。
那么静态库有什么用?
举个例子:如果程序员甲接到一个完成计算器加减乘除功能的任务,但是呢,当他实现了减法、乘法和除法的功能之后发现,加法怎么都解决不了。这时候呢,小甲就有了个主意,打听到程序员乙有关于加法的程序,有意向其购买。程序员乙自然也很乐意,同意把加工的功能程序出售给小甲,但同时又想保留程序的源码,这样他以后还可以卖给别人,这样的话,小乙该怎么做呢。此时就引入了静态库来解决这个问题:
如图所示,就是程序员乙所写的关于计算器加法功能的说明以及具体实现:
.h文件是关于加法运算功能的说明,.c文件是加法运算的源码程序,这个时候小乙想要把这个买给程序员甲而又想保留原码,单单给声明头文件自然是不够的,要怎么做呢?生成静态库!
具体操作,在项目名称处点一下,右击鼠标,点击属性一栏&