linux gcc编译参数

gcc 编译

hello.c->hello.i(预处理阶段,生成中间文件)->hello.s(汇编阶段,生成汇编文件)->hello.o(编译阶段,生成二进制代码文件)
->hello(链接阶段,生成可执行程序)

#预处理阶段,主要是将宏定义替换,条件编译、头文件包含,可以cat hello.i文件查看
gcc -E hello.c -o hello.i

#汇编阶段,将预处理文件生成为汇编文件,会汇编可以看懂hello.s
gcc -S hello.i -o hello.s

#编译阶段,将汇编文件编译为中间目录文件
gcc -c hello.s -o hello.o

#链接阶段,将中间文件链接为可执行文件
gcc hello.o -o hello

#可以直接跳过-E 、-S 、-C,直接编译可执行文件
gcc hello.c -o hello

常用gcc 编译命令

-c:只编译,不链接,生成.o目标文件
-o out_filename:输出指定文件名称,默认输出为a.out
-g:若使用gdb调试,则在编译时必须加上该选项
-O:对程序优化编译和链接,提高程序执行效率,但编译链接时慢
-O2:优化-O,但编译链接时更慢
-Wall:输出警告信息
-w:关闭所有警告
-Llib_dir:-L后面跟要链接的库名目录
-Iinclude_dir:-I后面跟编译所依赖的头文件目录
-llib_name:-l后面根据指定的库名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值