GCC编译器
来源:互联网 发布:如何做好淘宝客推广 编辑:程序博客网 时间:2024/05/16 17:13
GCC是Linux平台下最重要的开发工具,它是GNU的C和C++编译器,其基本用法为: gcc [options] [filenames]
最简单的编译方法是不指定任何编译选项: 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
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
- gcc编译器
- gcc编译器
- Gcc编译器
- 编译器GCC
- gcc编译器
- gcc编译器
- GCC编译器
- gcc编译器
- GCC编译器
- GCC编译器
- GCC编译器
- GCC编译器
- 编译器GCC
- GCC编译器
- GCC编译器
- gcc编译器
- 编译器GCC
- gcc编译器
- Objective-C中谓词(NSPredicate)的应用
- [BZOJ3404][Usaco2009 Open]Cow Digit Game又见数字游戏
- 堆和栈区别
- poj2376 Cleaning Shifts(区间贪心)
- 修改元素的属性:使用自定义属性实现摇号排名
- GCC编译器
- Android SystemClock类
- 详解spl_autoload_register()函数
- [HDU 3572]Task Schedule[最大流]
- 使用gcc生成动态链接库dll的方法
- Ubuntu上Docker安装
- 实现带样式的表单验证:用户名、密码验证
- java多线程的一个案例
- 转载一篇对php变量名的问题,很有意思,之前没注意过