`
omygege
  • 浏览: 1356997 次
文章分类
社区版块
存档分类
最新评论

gcc命令详解

 
阅读更多

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 禁止所有的警告

分享到:
评论

相关推荐

    gcc命令详解 gdb

    gcc命令详解gcc命令详解gcc命令详解

    GCC常用命令大全详解

    GCC/G++ 常用命令大全 linux GCC/G++ 命令大全 GCC/G++ 常用命令大全 linux GCC/G++ 命令大全

    linux gcc使用详解

    linux gcc使用详解,解释的很详细,带示例.

    GCC命令详解

    GCC 命令行详解 1。gcc包含的c/c++编译器 gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译 2。gcc的基本用法 gcc test.c这样将编译出一个名为a.out的程序 gcc test.c ...

    GCC编译命令 Gcc命令行详解

    GCC编译命令 Gcc命令行详解 Gcc命令行详解 Gcc命令行详解

    gcc命令行详解[参考].pdf

    gcc命令行详解[参考].pdf

    GCC使用详解

    GCC使用详解,很详细的教程,命令很全,很适合初学者。

    gcc常用参数详解

    linux下的编译工具,常用的gcc命令参数详细解释,用法和每个参数的含义

    linux gcc参数详解

    这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录所有的dos 命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助.不全的原因是,有可能我还没有看到这个参数,另一种原因是,我...

    gcc 和makefile 详解

    (‘target’目的文件)是从哪些别的 文件(‘dependencies’依靠文件)中产 生的,用什么命令 来进行 这个产生过程。 gcc/g++在执行编译工作的时候,总共需要4步  1.预处理,生成.i的文件[预处理器cpp]  2.将...

    gcc资料大全中文手册

    gcc参数详解 GCC常用命令描述 GCC中文手册 gcc安装

    GCC工具链(交叉)编译过程和相关命令详解

    本文为原创介绍GCC 编译C语言过程以及相关工具、编译选项的详解,一篇搞定,不用走弯路网络搜索

    gcc 详细讲解了gcc的使用及常用命令

    gcc 详细讲解了gcc的使用及常用命令 值得大家看一下

    gcc.rar_gcc_gcc linux

    GCC工作指导文档,Linux命令详解等

    linux上的C-C++编译器gcc-egcs详解

    linux上的C-C++编译器gcc-egcs详解 使用GCC很有必要

    Linux/Unix环境下的make命令详解

    而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员 来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。因此,有效的利用make和 ...

    Linux系统上C/C++编译器gcc/egcs详解

    Linux 中最重要的软件开发工具是 GCC.GCC是 GNU的 C和 C++编译器。实际上,GCC 能够编译三种语言:C 、C++ 和ObjectC (C 语言的一种面向对象扩展)。利用 gcc命令可同时编译并连接 C和 C++源程序。

    关于g++和gcc的相同点和区别详解

    4、连接阶段,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。   gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件转换成汇编语言,生成文件....

    GDB学习资料

    GCC_中文手册、gcc命令大全、Makefile编程、makefile教程(中文版)、makefile详解、跟我一起写Makefile、gdb常用命令

    实例详解Linux下的Make命令

    而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员 来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。因此,有效的利用make和 ...

Global site tag (gtag.js) - Google Analytics