静态库的使用分为静态链接和动态链接。静态链接是指编译系统在链接阶段把程序的目标文件和所需要的函数库文件链接在一起,这样生成的可执行文件就可以在没有函数库的情况下运行。
动态链接是指编译系统在链接阶段并不把目标文件和函数库文件放在一起,而是等到程序在运行过程中需要使用时才链接函数库。
使用静态链接方式产生的可执行文件体积比较大,但运行效率较高。而使用动态链接方式产生的可执行文件没有库文件,所以体积较小,但是由于需要加载函数库,所以运行效率较慢。
下面用例子说明怎么创建静态库及其使用。
创建有两步:(1)gcc -c 源文件1.c 源文件2.c ,为了生成.o的目标文件
(2)ar rcs lib静态库名.a 目标文件1 目标文件2
使用:gcc -o file flie.c -L. -lname file 自己命名 flie.c 写的主函数的名字 name库函数的名字
例:现在我们写四个独立的函数,两个数的加减乘除,再写一个主函数。
然后执行创建步骤(1),生成.o文件
然后执行步骤(2)
然后开始使用创建好的静态库