现在的位置: 首页 > 综合 > 正文

gcc命令详解

2014年03月10日 ⁄ 综合 ⁄ 共 728字 ⁄ 字号 评论关闭

GCC最初是一个C/C++语言的编译器,是GNU project C and C++ Compiler的缩写。现在已经可以支持包括Object-C, Fortran, Ada, Java等多种开发语言的开发, GCC的名称也改为GNU Compiler Collection。但是GCC最主要的用途还是用来编译C/C++程序。

首先需要了解一个C/C++程序从开始编码到生成可执行的二进制文件至少需要经过四个步骤:

  • 预处理
  • 编译
  • 汇编
  • 链接

大多数人之所以没有看到过这些是因为GCC已经帮我在后台隐式做了这些工作,我们一般都是直接使用GCC不加任何参数直接编译的。其实,只通过GCC你就可以控制上面的每一个细节。你可以简单的编写一个HelloWorld.c的文件来完成下面的工作。

1.预处理, 预处理主要对程序的预处理指令进行处理,预处理指令是指那些在源程序中由#开头的指令。GCC可以通过-E选项使GCC在生 成预处理文件后停止:

$gcc -E hello.c -o hello.i

2.编译。-S选项制定GCC在生成汇编文件后停止:

$gcc -S hello.c -o hello.s

3.汇编。-c选项指定GCC在生成目标文件后停止:

$gcc -c hello.s -o hello.o

4.链接。生成可执行文件 

$gcc hello.o -o hello

 

 

以下是GCC的常用选项

-g 生成调试信息,便于gdb对生成的程序进行调试

-O[0,1,2,3] 对生成的代码进行优化,中括号中是优化级别,默认为2级优化

-Idir 在编译程序时增加一个搜索有文件的额外目录dir

-Ldir 在编译源文件时增加一个搜索库文件的额外目录dir

-llibrary 在编译源文件时增加一个额外的库文件,库文件名称为library.a

-w 禁止所有的警告

抱歉!评论已关闭.