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生成所有警告信息
-Onn=0~3 优化级别,-O3最高
-static禁止使用动态库
-share尽量使用动态库
-fPIC产生与位置无关的代码
-c激活预处理,编译和汇编
-o指定目标名称

更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值