一、gcc常用选项
-v: 查看版本号。
-I: 指定文件的目录,注意-I与目录之间没有空格。
-c :只编译生成.o文件,不进行链接。
-g :包含调试信息。
-On: n = 0 ~ 3 编译优化,n越大优化得越多。
-Wall:提示更多的警告信息。
-M :生成.c文件与头文件依赖关系以用来Makefile,包含系统头文件。
-MM:生成.c文件与头文件依赖关系以用来Makefile,不包含系统头文件。
-wl,option: 该选项把option传递给linker,option选项用逗号分隔。
二、静态库的生成与使用
命令 ar
常用选项:
d :从归档文件中删除文件。
m[ab]:在归档文件中移除文件。
p:打印归档文件中找到的文件。
q[f]:将文件快速追加到归档文件中。
r[ab][f][u]、替换文件中以有的文件或加入新文件。
s:作为ranlib工作。
t :显示归档文件的内容。
x[o]:从归档文件中分解文件
例子:
打包命令 ar -r file_name.a file_name1.o file_name2.o 。
查看包中的内容 ar -t file_name.a 输出 file_name1.o file_name2.o 。
解压包
ar -x file_name.a //解压所有文件
ar -x file_name.a file_name1.o //只解压 file_name1.o文件
包名一般用lib开头
三:动态库的创建于使用
命令
gcc -c -fpic *.c
gcc -shared *.o -o *.so
可以合并为一条命令 gcc -fpic -shared *.c -o *.so
把*.so添加到运行环境 export LD_LIBRARY_PATH = *.SO 。
编译时刻链接动态库 : gcc *.o *.so -o name。