• 第19课 编译过程简介


    初识编译器:

    预编译:

    示例程序:

    源文件:

     1 #include "19-1.h"
     2 
     3 // Begin to define macro
     4 
     5 #define GREETING "Hello world!"
     6 
     7 #define INC(x) x++
     8 
     9 // End
    10 
    11 int main()
    12 {   
    13     p = GREETING;
    14     
    15     INC(i);
    16     
    17     return 0;
    18 }

    头文件:

     1 /*
     2 
     3     This is a header file.
     4     
     5 */
     6 
     7 
     8 char* p = "Delphi";
     9 
    10 int i = 0;

    执行预编译命令:

    得到的中间文件如下:

    预处理过后,注释被删掉了,7和9行的全局变量也直接被复制过来了,1-6行为需要传递给后续编译器的信息。我们在c文件中定义的宏也被展开了。

    预编译其处理之后就该执行真正的编译了。

    编译:

    编译过程主要对源程序进行翻译,翻译成汇编代码。调用编译模块进行编译,如下:

    编译结果如下:

    汇编:

    编译过后就是汇编的过程:

    汇编指令如下:

    汇编之后生成了目标文件,但是它并不是一个可执行文件。

    汇编之后还需要进行链接。

    链接:

    小结:

  • 相关阅读:
    电话续
    邀请
    Detecting versions of IE
    Android命令行
    电话
    性格形容词
    .NET 异常处理
    uva 10161 Ant on a Chessboard
    转载 ACM训练计划
    uva 253 Cube painting
  • 原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9536416.html
Copyright © 2020-2023  润新知