gcc编译器的使用

gcc的编译过程如下:

预编译(-E)(.i)——编译为汇编代码(-S)(.s)——汇编(-c)(.o)——链接(可执行文件)

代码文件file.c预处理后编译输出文件file.i——把file.i编译成汇编代码输出汇编代码文件file.s——把file.s编译成目标文件file.o——链接把目标文件变为可执行程序



命令:

-o输出文件命令处于结尾

-E预编译命令

-S编译为汇编代码的命令

-c汇编

-pedantic检错发现一些不符合 ANSI/ISO C标准的代码,但不是全部,事实上只有ANSI/ISO C语言标准中要求进行编译器诊断的那些情况,才有可能被GCC发现并提出警告

-Wall最有价值的,使用它能够使GCC产生尽可能多的警告信息

-Werror带上选项,那么GCC会在所有产生警告的地方停止编译,迫使程序员对自己的代码进行修改

时间: 2024-10-10 00:09:17

gcc编译器的使用的相关文章

vi 编辑器,gcc 编译器的使用

vi编辑器是我们在linux下经常使用的文本编辑器,这个东西也是专门为程序员准备的,基本上每个Unix和Linux系统都为我们提供了这个软件,我们可以使用vi来编写我们的代码.在vi编辑器下所有操作都必须通过键盘和特定的快捷键组合来完成,刚开始学习的新手会感觉不太容易,但是这个东西很重要,我们先来学习如何使用它,掌握了这个东西去面试的时候也算是一门技能.而vim是vi的增强版,新增加了很多功能. 在shell下输入命令vi 文件名,例如:vi first.c,就开始编辑first.c文件了.vi

GCC编译器编译链接

在gcc编译器环境下,常见的文件扩展名的含义如下: .c:C源程序,经过预编译后的源程序也为.c文件,它可以通过-E参数输出. .h:头文件 .s:经过编译得到的汇编程序代码,它可以通过-S参数输出. .o:目标文件 .a:函数库 Gcc编译器常见语法: -c:只进行编译,不进行链接,输出的是与源文件同名的.o文件. -o:指定生成的文件的名称.链接生成可执行文件,这个参数后可以带可执行文件的名字,如果没有指定可执行文件的名字,则会默认为a.out. -S:输出汇编代码文件,输出一个与源文件同名

C语言的编译过程、安装gcc编译器以及设置环境变量

以我对C语言编译过程的了解,我用了一点时间画了一个图,提供给大家参考一下,希望有些能对您的问题提上帮助. 前几天刚初步学习了C语言的编译过程,感触挺深的.在C语言中头文件其实起了一个很大的作用. 1.头文件可以不需要编译 2.可以查看具体的声明 3.头文件加上实现文件的o文件提交给使用者即可 ,不需要知道源代码 4..o文件预先编译,所以整个项目编译时,会大大提高编译的时间 . 5.当一个文件(A.c文件)依赖于头文件(b.h)时 ,如果b.c编译之后形成的b.o文件重新编译后,a.o的文件不需

基于Linux下的GCC编译器的内部预宏定义与__attribute__属性

***************************************************************************************************************************** 作者:EasyWave                                                                                    时间:2015.02.20 类别:Linux应用-GCC编

windows下安装,配置gcc编译器

在Windows下使用gcc编译器: 1.首先介绍下MinGW MinGW是指仅仅用自由软件来生成纯粹的Win32可运行文件的编译环境,它是Minimalist GNU on Windows的略称. 实际上 MinGW 并非一个 单纯的C/C++ 编译器,而是一套 GNU 工具集合.除开 GCC 以外,MinGW 还包括有一些其它的 GNU 程序开发工具 (比方 gawk bison 等等). 开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows

GCC编译器

GCC是GNU项目的编译器,是GNU最具代表性的作品.GCC设计之初是专门用于C程序的编译器,展开叫做GNU C Compiler.经过数十年的发展,如今的GCC现在已经支持编译多种语言,像C.C++.Objective-C.JAVA.Fortran等等,是GNU  Compiler Collection.当我们用gcc命令编译的时候,它会根据文件的后缀名自动的选择相应的编译器.GCC种包含以下常见命令: C编译器:cc.gcc C++编译器:c++.g++ 源代码预处理器:cpp 注意:1.c

如何使用gcc编译器

要想读懂本文,你需要对C语言有基本的了解,本文将介绍如何使用gcc编译器. 首先,我们介绍如何在命令行的方式下使用编译器编译简单的C源代码. 然后,我们简要介绍一下编译器究竟作了哪些工作,以及如何控制编译的过程. 我们也简要介绍了调试器的使用方法. gcc介绍 你能想象使用封闭源代码的私有编译器编译自由软件吗?你怎么知道编译器在你的可执行文件中加入了什么?可能会加入各种后门和木马.Ken Thompson是一个著名的黑客,他编写了一个编译器,当编译器编译自己时,就在'login'程序中留下后门和

利用GCC编译器生成动态链接库和静态链接库

转载请标明:http://www.cnblogs.com/winifred-tang94/ 1.编译过程 gcc –fPIC –c xxx.c 其中-fPIC是通知gcc编译器产生位置独立的目标代码.链接的时候不通过拷贝来进行. 2.链接过程 gcc –shared –o libxxx.so xxx.o 经过编译链接就可以生成动态链接库,其扩展名为.so Eg. 还可以gcc –fPIC –shared -o libhello.so hello.c 举个例子: //Hello.h //hello

windows安装gcc编译器

由于vc6.0对c语言编译不是很好,有些语句是正确的,但是编译却不能通过 所以决定在windows中安装gcc编译器来使用! http://www.cnblogs.com/cryinstall/archive/2011/08/27/2280827.html 感谢上面这篇文章解决我的问题: 主要步骤去官网下载这个程序,可能开始比较慢,但是下载下来也比较小 下载地址:https://sourceforge.net/projects/mingw/files/latest/download?source

linux成长之路(gcc编译器、静态库、动态库)

Jeremy Lin GCC简介 GCC(GNU Complier Collection)是GNU推出的功能强大.性能优越的多平台编译器套件,它包括了C.C++.Objective-C.Fortran.Java.Ada和Go语言的前端,也包括了这些语言的库,当前最新的版本是GCC 5.1.GCC可以在多种硬件平台上编译出可执行程序,其执行效率与一般的编译器相比平均效率要高20%-30%.GCC编译器能将C.C++语言源程序.汇程式程序和目标程序编译.连接成可执行文件,如果没有给出可执行文件的名字