linux编程基础

一、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。

你可能感兴趣的:(linux高级编程)