GCC编译器

来源:互联网 发布:如何做好淘宝客推广 编辑:程序博客网 时间:2024/05/16 17:13
       GCC是Linux平台下最重要的开发工具,它是GNU的C和C++编译器,其基本用法为: gcc [options] [filenames] 

options为编译选项,GCC总共提供的编译选项超过100个,但只有少数几个会被频繁使用,我们仅对几个常用选项进行介绍。 假设我们编译一输出“Hello World”的程序:

 /* Filename:helloworld.c */ main() { 

    printf("Hello World\n"); } 
最简单的编译方法是不指定任何编译选项: gcc helloworld.c 
它会为目标程序生成默认的文件名a.out,我们可用-o编译选项来为将产生的可执行文件指定一个文件名来代替a.out。例如,将上述名为 helloworld.c的C程序编译为名叫helloworld的可执行文件,需要输入如下命令: gcc –o helloworld helloworld.c 
-c选项告诉GCC仅把源代码编译为目标代码而跳过汇编和连接的步骤; 
-S 编译选项告诉GCC 在为 C代码产生了汇编语言文件后停止编译。GCC 产生的汇编语言文件的缺省扩展名是.s,上述程序运行如下命令: gcc –S helloworld.c  

将生成helloworld.c的汇编代码,使用的是AT&T汇编。用emacs打开汇编代码如下图:

-E选项指示编译器仅对输入文件进行预处理。当这个选项被使用时,预处理器的输出被送到标准输出(默认为屏幕)而不是储存在文件里。 
-O选项告诉GCC对源代码进行基本优化从而使得程序执行地更快;而-O2选项告诉GCC产生尽可能小和尽可能快的代码。使用-O2选项编译的速度 比使用-O时慢,但产生的代码执行速度会更快。 
-g选项告诉GCC产生能被GNU调试器使用的调试信息以便调试你的程序

在GCC里,我们能联用-g和在GCC里,我们能联用-g和-O (产生优化代码)。 
-pg选项告诉GCC在你的程序里加入额外的代码,执行时,产生gprof用的剖析信息以显示你的程序的耗时情况。

0 0
原创粉丝点击