linux中C++编译过程

使用gcc编译程序时,编译工程分为4个阶段:

(1)预处理:(Pre-Processing)

(2)编译:(Compiling)

(3)汇编:(Assembling)

(4)链接:(linking)

若一个名为hello.c的文件,其内容为:

#include <stdio.h>
int main()
{
  printf(" Bettergoal, Better life! /n");
  return 0;
}

1.在预处理阶段主要是处理源文件中的#ifdef、#include和#define预处理命令。该阶段会生成一个中间文件*.i

2.在编译阶段,输入的是中间文件*.i,编译后生成汇编语言文件*.s。这个阶段对应的gcc命令如下所示:

 3.在汇编阶段,将输入的汇编文件*.s转换成二进制机器代码*.o,这个阶段对应的gcc命令如下所示:

4.在链接阶段,将输入的二进制机器代码文件*.o(与其他机器代码文件和库文件)汇集成一个可执行的二进制代码文件。

对应以上四个阶段,直接一个命令

gcc hello.c -o hello

 参考:https://blog.csdn.net/u013457167/article/details/51160575

诸位正值青春年少,一定恣情放纵,贪恋香艳梅施之情,喜欢风流雅韵之事,洒脱木拘。然而诸位可知,草上露一碰即落,竹上霜一触即溶,此种风情难于长久。
原文地址:https://www.cnblogs.com/shilipojianshen/p/12625843.html