文章目录
- 静态库 Static library
- 静态库是obj文件的一个集合,通常静态库以”.a”为后缀。
- 标准系统库可在目录/usr/lib与/lib中找到。比如,在类Unix系统中C语言的数序库一般存储为文件/usr/lib/libm.a。该库中函数的原型声明在头文件/usr/include/math.h中。
- C标准库本身存储为/usr/lib/libc.a,它包含ANS1/ISO标准指定的函数,比如printf。对每一个C程序来说,libc.a都默认被链接。
- 静态库的一个优点是开发者可以提供库文件给使用的人员,不用开放源代码,这是库函数提供者经常采用的手段。
$@
目标文件$^
所有的依赖文件$<
第一个依赖文件- ar命令可以用来创建、修改库,也可以从库中提出单个模块。
- 库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。
1 编写源文件及makefile,生成静态库
编写一个测试源文件tom.c,再编写makefile,make过程分为两步, 第一步生成.o文件,第二步通过ar生成静态库。