几个关键字
头文件 (以.h 结尾)
源文件 以.c 结尾
目标文件 以.o结尾
三种直接的关系
源文件引用头文件,源文件生产目标文件,头文件包含目标文件中的函数
库文件 分为静态函数库和动态函数库,分别如下:
.a 表示静态库文件
.so 表示动态库文件
gcc -c a.c b.c
创建库文件
ar crv libfoo.a a.o b.o
在某些系统中,要想成功使用函数库,你还需要为函数库生成一个内容表,你可以使用ranlib命令来完成这一工作。当然,在linux中,当你使用的是GNU的软件开发工具,可以省略这一步。
ranlib libfoo.a
生成可执行程序
gcc -o program program.o libfoo.a
你也可以使用-l选项来访问函数库,但因未保存在标准位置,你必须使用-L选项来告诉编译器在何处能找到它。
gcc -o program program.o -L. -lfoo