当前位置: > 科技>正文

gcc编译器(什么是GCCGCC有什么作用)

2023-03-02 00:05:39 互联网 科技

.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件,gcc编译器不在默认安装程序之列,生成汇编代码文件[root@wahootest]#gcc-Shello.i-ohello.sS参数通知gcc对目标文件进行编译,参考资料:百度百科—gcc如何在Windows下安装使用gcc编译器1、 先去Cygwin网站下载一个安装文件(setup.exe),是C源代码文件且不应该对其执行预处理,如果不准备做编译安装就可以不装这个编译器了,生成一份新的代码[root@wahootest]#gcc-Ehello.c-ohello.iE参数通知gcc对目标文件进行预编译,是汇编语言源代码文件。

什么是GCCGCC有什么作用

GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。

GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。

GCC功能与作用:

1、预处理

命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。

2、编译

用GCC编译C/C++代码时,它会试着用最少的时间完成编译并且编译后的代码易于调试。易于调试意味着编译后的代码与源代码有同样的执行顺序,编译后的代码没有经过优化。

3、连接

当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。

4、汇编

汇编过程是针对汇编语言的步骤,调用as进行工作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。

扩展资料:

gcc所遵循的部分约定规则:

1、.c为后缀的文件,C语言源代码文件。

2、.a为后缀的文件,是由目标文件构成的档案库文件。

3、.h为后缀的文件,是程序所包含的头文件。

4、.i 为后缀的文件,是C源代码文件且不应该对其执行预处理。

5、.m为后缀的文件,是Objective-C源代码文件。

6、.o为后缀的文件,是编译后的目标文件。

7、.s为后缀的文件,是汇编语言源代码文件。

参考资料:百度百科—gcc

如何在Windows下安装使用gcc编译器

1、 先去Cygwin网站下载一个安装文件(setup.exe),这个文件体积很小,只有不到300KB。然后双击运行setup.exe。因为是第一次安装,所以必须选择从Internet在线安装,也可以先从Internet下载安装文件,然后再手动安装。我选择后者,因为这样,以后我可以在不联网的时候也能安装。 2、接下来点击“下一步”,然后从一系列服务器列表中选择一个你认为网速最快的一个作为下载服务器。接着点击“下一步”就会出现如下图所示的界面,用来选择你想安装的程序。 如果你不做任何修改,将默认安装Cygwin运行所需的最少的程序和组件。不过,gcc编译器不在默认安装程序之列,所以你必须选择安装gcc。具体是, 在上述窗口中的列表中展开Devel目录,找到gcc-g++一项,点击“Default”,它就变成了“Install”,同时由于程序之间的依赖性 gcc-core条目的“Default”,也变成了“Install”。 此外,为了使gcc能正确编译源文件,还必须安装win32api库,否则会编译出错。因此,你需要在上述窗口中展开Libs目录,找到win32api一项,将它点成“Install”。 3. 接下来就是耐心等待程序去下载所需的安装文件了。一旦下载完毕,你再次运行setup.exe,先选择你将要把Cygwin安装在什么地方,然后再选择你 刚才所下载的那些安装文件所在的硬盘位置。接着你还需要再次选择安装gcc和win32api。这样,你就可以开始安装了。 4. 安装完成后,运行Cygwin。在窗口中敲入gcc就可以直接用gcc来编译了。编译链接生成的可执行文件,系统会自动加上.exe后缀,在Cygwin 环境中可以直接运行。但如果脱离Cygwin环境,而在MS DOS下运行,则会出错。解决办法很简单,那就是将cygwin1.dll文件拷贝到C:\WINDOWS目录下即可。

用gcc编译器C语言程序的技巧

方法/步骤1、编写c代码,并输入以下代码,生成文件hello.c[root@wahootest]#vimhello.c#include《stdio.h》#defineDISPLAY“helloc!“intmain(void){printf(“%s\n“,DISPLAY);return0;}ZZ(说明:ZZ当前文件进行快速保存操作)2、预编译(Preprocessing)会对各种预处理指令(#include#define#ifdef等#开始的代码行)进行处理,删除注释和多余的空白字符,生成一份新的代码[root@wahootest]#gcc-Ehello.c-ohello.iE参数通知gcc对目标文件进行预编译,这里是对文件hello.c文件o参数是对命令输出结果进行导入操作,这里是把gcc-Ehello.c操作结果输出到文件hello.i(命名要自定义)中进行保存这个命令执行完后我们目录下多了一个文件hello.i,你可以查阅一下文件的内容。3、编译(Compilation)对代码进行语法、语义分析和错误判断,生成汇编代码文件[root@wahootest]#gcc-Shello.i-ohello.sS参数通知gcc对目标文件进行编译,这里是对文件hello.i文件通过这一步我们知道C语言跟汇编的关系,至于他们之前是如何进行转换的,大家可以进行更深入的学习与探讨。此时目录下多了一个hello.s文件,内容如图4、汇编(Assembly)把汇编代码转换与计算机可认识的二进制文件,要知道计算机只认识0和1呢[root@wahootest]#gcc-chello.s-ohello.oc参数通知gcc对目标文件执行指令转换操作此步骤我们得到文件hello.o大家也同样打开文件查看一下,这个文件里面几乎没几个字符大家能看懂,这就对了,但大家可以通过这种方法将其转化为我们可读的形式:[root@wahootest]#readelf-ahello.o5、链接(Linking/Build)通俗的讲就是把多个*.o文件合并成一个可执行文件,二进制指令文件[root@wahootest]#gcchello.o-ohello这里我们就得到了一个可以直接在系统下执行的文件hello我们也可以对这个文件进行readelf操作,也可以进行二进制指令转汇编的操作[root@wahootest]#objdump-dhello6、程序运行[root@wahootest]#./hellohelloc!7、总结:gcc编译c程序的主要过程包括预编译-》编译-》汇编-》连接四个过程,每个过程都分别进行不同的处理,了解了这其中的一些原理,对c编程的理解大有益处

gcc是不是linux自带的编译器要不要安装

gcc是LINUX自带的一个编译器,但是默认情况是没有安装的,如果要进行编译安装某些网络服务,例如最常用的apache就需要安装了!如果不准备做编译安装就可以不装这个编译器了,另外提醒你一下,这个编译器的倚赖关系还挺复杂的,安装的时候要注意看提示信息!

文件

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本站联系的,一经查实,本站将立刻删除。