首页 > 代码库 > GCC编译器
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.cc是Unix下的编译器,gcc是Linux下的编译器。用Unix编写的程序都用cc编译,故其Makefile文件中的编译命令为cc。Linux为了兼容Unix的命令,在linux下用cc其实并不是用的Unix下的编译器,而是gcc编译器的链接,故用gcc和cc都是一样的。
2.g++和gcc两个命令,当源文件后缀是.c,gcc按C语言来编译,g++按c++程序编译,当后缀是.cpp时,gcc和g++都将其作为c++程序编译。除此之外,gcc不能链接C++程序的库,故当链接时C++程序必须要用g++来链接。而用g++编译的时候,实际上用的还是gcc编译。
一、程序的编译过程
当我们用编译命令将一个源程序文件编写成可执行文件的时候,实际上分为下面4步:
- 预处理 将源文件中包含的头文件插入进来,进行宏替换等等,最终生成预处理后的文件。
- 编译 将上一步生成的预处理后的文件,编译生成汇编代码。
- 汇编 根据汇编代码,调用as程序,将相应的汇编代码生成机器代码,即计算机能够直接运行的二进制.o文件。
- 链接 将多个.o文件和程序中用到的库文件通过连接器进行连接,生成最终的可执行文件。
二、GCC编译命令
假设源文件为test.c。
GCC编译器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。