zoukankan      html  css  js  c++  java
  • 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)



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


  • 相关阅读:
    去除文件中的空行
    数据分析 numpy matplotlib
    程序员
    c#
    java
    微信小游戏
    小游戏开发手册
    模板
    微信小程序小程序代码构成(.json .js .wxss .wxml)
    微信程序
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7016796.html
Copyright © 2011-2022 走看看