gcc 编译c代码

时间:2021-04-15 02:05:15

gcc 编译c代码


摘要:本文介绍了在windows下编译c/c++代码的完整流程

1.安装gcc编译器

官网下载地址为:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download?use_mirror=nchc

下载安装之后配置一下环境路径:

gcc 编译c代码

接下来测试一下是否正常,在命令行输入:

gcc -v

如果输出gcc 的信息而不是提示找不到则安装成功,否则,检查安装路径!

2.编译

首先准备一份测试代码,命名为hello.c

//gcc 编译测试代码
#include<stdio.h>
int main(){
printf("Hello gcc!");
}

编译可分为四个阶段:

  • 预处理:编译器将c程序的头文件包含进来,及进行宏替换

    gcc -E hello.c -o hello.i
  • 编译:这个阶段编译器主要做词法分析、语法分析、语义分析等,在检查无错误后后,把代码翻译成汇编语言,编译器(ccl )将文本文件hello.i 翻译成文本文件hello.s, 它包含一个汇编语言程序。汇编语言程序中的每条语句都以一种标准的文本格式描述了一条低级机器语言指令。

    gcc -S hello.i -o hello.s
  • 汇编:把编译阶段生成的.s 文件转换为二进制目标代码。汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成可重定位目标程序的格式, 并将结果保存在目标文件hello.o中。hello.o文件是一个二进制文件,它的字节编码是机器语言。

    gcc -c hello.s -o hello.o
  • 链接:把obj文件链接为可执行的文件:链接器(ld)负责.o文件的并入。结果就是hello文件,它是一个课执行的目标文件,可以加载到存储器后由系统调用

    gcc hello.o -o hello

当然,也可以直接生成目标文件:

gcc hello.c -o hello

或者:

gcc hello.c

此时目录下会有hello.exe 文件,在命令行输入:hello.exe 运行即可!