Linux GCC编译器 相关知识

GCC是GNU的C和C++编译器


GCC编译C语言的4个阶段
①预处理阶段 
对include、define等进行处理  -E
②编译阶段  
生成.s文件,-S
③汇编阶段
.s→.o -c
④链接阶段
-o


函数库
静态函数库,动态函数库(共享函数库)


GCC基本语法
gcc[options][filenames]


1.编译选项
-o:将产生的可执行文件指定一个文件名代替a.out
例子:gcc -o 1 1.c
-c:仅把C源程序编译为目标代码跳过汇编和链接
例子:gcc -c 1.c
gcc -o test 1.c 2.c 3.c相当于gcc -c 1.c;gcc -c 2.c;gcc -c 3.c;gcc -o test 1.o 2.o 3.o这4条语句
-E:只运行C预编译器
-S:提示GCC在为C代码产生了汇编语言文件后停止翻译
-shared:生成共享目标文件,通常用在建立共享函数库时
-static:禁止使用共享连接


2.警告选项
-Wall:显示所有的警告信息
例子:gcc -Wall -o 1 1.c
-w:不生成任何警告信息,禁止输出警告信息


3.查找选项
-I dir:指定头文件的搜索目录
例子:gcc -I /export/home/ray -o 1 1.c
-L dir:指定库文件的搜索目录
例子:gcc -L /usr/williams/lib -o 1 1.c


4.优化选项
-On:可以使GCC在耗费更多的编译时间和牺牲易调试性的基础上产生更小更快的可执行文件。这些选项中最典型的是-O和-O2选项


5.版本选项
-v:得到目前正在使用的GCC版本及与版本相关的一些信息
-V:如果安装了多个版本的GCC,并且想要强制执行其中的某个版本,可以使用命令通知系统用户要使用的版本


6.调试和剖析选项
-g:提示GCC生成能被GNU调试器使用的调试信息以便调试程序
例子:gcc -g -o 1 1.c
-pg:提示GCC在程序里加入额外的代码,提供进行性能分析所需的信息
注意:使用调试程序选项会使最终生成的二进制文件的大小急剧增加,因此调试选项只有在开发和调试阶段使用



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值