Linux下gcc编译C/C++文件过程分解

2022-07-20 14:35:29

Linux下gcc编译C/C++文件过程分解

以下面简单的main.c文件为例

#include <stdio.h>
int main(){
    printf("Hello World from w1 main!\n");
    return 0;
}

在Linux下执行C/C++的编译过程要严格遵循gcc的编译规律,gcc的相关命令提示可以从命令行中获得相关提示

请添加图片描述

一般来说,我们利用gcc编译一个简单的C/C++文件只需要在文件路径下执行以下命令,即可在路径下生成一个名为a.out的可执行文件,执行该文件即可获得main.c的执行结果。

gcc main.c
./a.out

但该命令实际上系统在执行时被分为4步,为了更进一步了解gcc的编译过程,下面展开介绍

  1. 预处理
  2. 汇编器
  3. 编译器
  4. 连接器
# 预处理(-o  输出重命名)
gcc -E mian.c -o main.i
# 汇编器
gcc -S main.i
# 编译器
gcc -c main.s
# 连接器
gcc main.o -o main

请添加图片描述

  • 作者:Robot_Tiger_
  • 原文链接:https://blog.csdn.net/CH_monsy/article/details/123000668
    更新时间:2022-07-20 14:35:29