• C++源文件到可运行文件的过程


    一.四个步骤   

       对于C/C++编写的程序,从源码到可运行文件,一般经过以下四个步骤:
    1).预处理,产生.ii文件
    2).编译,产生汇编文件(.s文件)
    3).汇编,产生目标文件(.o或.obj文件)
    4).链接,产生可运行文件(.out或.exe文件)
       
        以hello.c为例。这个过程能够用以下的图来表示



    二.预处理

       预处理主要包括以下的内容:
    a.对全部的“#define”进行宏展开。
    b.处理全部的条件编译指令,比方“#if”,“#ifdef”。“#elif”,“#else”,“#endif”
    c.处理“#include”指令,这个过程是递归的,也就是说被包括的文件可能还包括其它文件
    d.删除全部的凝视“//”和“/**/”
    e.加入行号和文件标识
    f.保留全部的“#pragma”编译器指令
        经过预处理后的.ii文件不包括不论什么宏定义,由于全部的宏已经被展开。而且包括的文件也已经被插入到.ii文件里。


    三.编译

        编译的过程就是将预处理完的文件进行一系列词法分析,语法分析,语义分析及优化后生成对应的汇编代码文件(.s文件)



    四.汇编

        汇编器是将汇编代码转变成机器能够运行的代码,每个汇编语句差点儿都相应一条机器指令。终于产生目标文件(.o或.obj文件)。




    五.链接

       链接的过程主要包含了地址和空间分配(Address and Storage Allocation)、符号决议(Symbol Resolution)和重定位(Relocation)



    版权全部。欢迎转载,转载请注明出处。谢谢微笑


  • 相关阅读:
    Python开发之路-多进程、进程队列、事件驱动模型、IO模型前戏
    Python开发之路
    cookies,sessionstorage,localstorage的区别?
    Linux的nmon监控结果分析文件中网络分析NET
    长字符串写法
    go中语句为什么不用加分号;结束
    %v的使用
    设计模式--装饰器模式
    第一类值VS第二类值
    闭包
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7016796.html
Copyright © 2020-2023  润新知