1、gcc编译器介绍
编辑器(如vi、记事本)是指我用它来写程序的(编辑代码),而我们写的代码语句,电脑是不懂的,我们需要把它转成电脑能懂的语句,编译器就是这样的转化工具。就是说,我们用编辑器编写程序,由编译器编译后才可以运行!
编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。
gcc(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语言编译器。gcc原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,gcc同样适用于微软的Windows。
gcc最初用于编译C语言,随着项目的发展gcc已经成为了能够编译C、C++、Java、Ada、fortran、Object C、Object C++、Go语言的编译器大家族。
2、Windows平台下gcc环境配置
windows命令行界面下,默认是没有gcc编译器,我们需要配置一下环境。所以我们需要安装Qt,Qt是一个集成开发环境,内部集成gcc编译器,配置一下环境变量即可使用gcc。
====================================================================
下面开始配置教程:
(1) 进入Qt安装目录:
(2)拷贝gcc所在的路径(不同安装目录有所差异):
C:\Qt\Qt5.5.0\Tools\mingw492_32\bin
(3)设置windows环境变量:
如果是win7,双击Path后,把拷贝的路径追加到后面,路径之间需要英文” ; ”分隔:
如果是win10,界面做得友好一下,新建添加路径即可:
(4)测试gcc命令:
输入命gcc -v
,有如下显示,说明gcc环境配置成功了。
3、 Windows平台下编译代码
3.1 C程序编译步骤:
C代码编译成可执行程序经过4步:
1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法
2)编译:检查语法,将预处理后文件编译生成汇编文件
3)汇编:将汇编文件生成目标文件(二进制文件)
4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去
3.2 gcc编译过程:
(1) 分步编译:
命令:
预处理:gcc -E hello.c -o hello.i
编 译:gcc -S hello.i -o hello.s
汇 编:gcc -c hello.s -o hello.o
链 接:gcc hello.o -o hello
选项 含义:
-E 只进行预处理
-S(大写) 只进行预处理和编译
-c(小写) 只进行预处理、编译和汇编
-o file 指定生成的输出文件名为 file
文件后缀 含义:
.c C 语言文件
.i 预处理后的 C 语言文件
.s 编译后的汇编文件
.o 编译后的目标文件
例子:
随便写一个程序,如下
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
然后按如下步骤分步编译:
(2) 一步编译:
命令:gcc hello.c -o demo
(还是经过:预处理、编译、汇编、链接的过程)
例子: