zoukankan      html  css  js  c++  java
  • CC++编译流程

    总流程:

    1.预处理(Preprocessing)

     预处理用于将所有的#include头文件以及宏定义替换成其真正的内容;

     将hello.c预处理输出hello.i文件

    2.编译(Compilation)

    将经过预处理之后的程序转换成特定汇编代码(assembly code)的过程;

    在这个阶段中,gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言。

    将预处理输出文件hello.i汇编成hello.s文件

    3.汇编(Assemble)

    汇编过程将上一步的汇编代码转换成机器码(machine code),这一步产生的文件叫做目标文件;

    将汇编输出文件hello.s编译输出hello.o文件

    4.链接(Linking)

    链接过程将多个目标文以及所需的库文件(.so等)链接成最终的可执行文件(executable file).

    将编译输出文件hello.o链接成最终可执行文件hello

     图参考:https://www.jianshu.com/p/0ec6cb21bd50 

     




    长风破浪会有时,直挂云帆济沧海!
    可通过下方链接找到博主
    https://www.cnblogs.com/judes/p/10875138.html
  • 相关阅读:
    Java(15) _Runtime类 内存方法
    Mysql(1)_ 基本sql语句
    Java(13)_ 用IO流复制文件
    Java(12)_switch语句
    Java(10) _无参构造方法调用问题
    Java(9) _强制类型转换
    Java(8)_符串常量赋值
    Java(7)_file类的常用方法
    Java(6)_ Runtime类调用exe程序
    Java(5) _类的定义
  • 原文地址:https://www.cnblogs.com/judes/p/15026932.html
Copyright © 2011-2022 走看看