• 从文本文件hello.txt到可执行文件hello


    第一阶段

    使用编辑器编写的源代码 (.txt) 文件 hello.c。经过 Pre-processor 进行前处理。在前处理阶段,当 pre-processor 读到代码中的#include<stdio.h>时,会读取头文件stdio.h,并将其直接插入源代码中。最后得到经过修改后的源代码文件 hello.i

    第二阶段

    编译器(complier)将 hello.i 翻译成 hello.s ,此时的 hello.s 仍然是文本文件,这时候得到的是一个汇编程序(assembly-program)。汇编语言对不同的高级语言和不同的编译器的输出结果使用的是相同的语言,比如 CFortran

    第三阶段

    汇编器(assembler)将 hello.s 翻译成机器语言,打包成可重定位程序(relocatable object program)hello.o 。这时候的的 hello.o 是二进制文件,而不再是文本文件。

    第四阶段

    程序中使用的标准库函数(如printf)由编译器提供,这些被提前编译好的库函数文件(如 printf.o )被链接器(Linker)合并到源程序中,最后输出可执行文件(executable object file)hello

  • 相关阅读:
    SQL语句建表、设置主键、外键、check、default、unique约束
    郝斌老师的SQL教程
    Hello WPF!
    指针
    穷举法破解 zebrone1.1
    一条汇编指令引发的 蝴蝶效应 (后记)
    浮点 汇编指令基础知识
    收敛数列极限唯一性证明
    MFC SkinMagic使用方法
    Python初学1
  • 原文地址:https://www.cnblogs.com/yaos/p/7056424.html
Copyright © 2020-2023  润新知