GCC 编译器

过程文件

后缀 含义 描述
.c 源文件 源代码
.o 源文件的目标文件 源代码预处理,编译和汇编后的二进制
.a 目标文件的归档文件 目标文件的打包,没有链接过程
.so 动态链接库文件 由目标文件或归档文件链接而成,没有程序入口,不能独立运行
.out 编译输出可执行文件 由目标文件或归档文件链接而成,有程序入口,可以独立运行

常用工具

工具 描述
gcc 通常用于完成预处理、编译、汇编、链接工作 (.c -> .o .so .out)
ar 通常用于归档目标文件 (.o -> .a)

常用方法

1.生成可执行文件

gcc -o app.out  main.c

2.生成动态库文件

gcc -fPIC -shared -o libfunc.so  func.c

3.生成目标文件

gcc -c fun1.c fun2.c

4.生成静态库文件

ar rcs fun.a  fun1.o fun2.o

常用选项

参数 描述
-I 指明头文件的包含路径
-L 指明静态库的包含路径
-l 指明静态库的名字
-Wl,-rpath= 指明运行时可以找到动态链接库的路径
-g 编译时产生调试信息
-Wall 生成所有警告信息
-On n=0~3 优化级别,-O3最高
-static 禁止使用动态库
-share 尽量使用动态库(编译时)
-fPIC 产生与位置无关的代码(链接时)
-c 激活预处理,编译和汇编
-o 指定目标名称

GCC编译器30分钟入门教程

posted @ 2020-03-28 08:03  派大海星  阅读(114)  评论(0编辑  收藏  举报