美文网首页
CSAPP translation page 3

CSAPP translation page 3

作者: 木子9268 | 来源:发表于2019-07-09 16:01 被阅读0次

这里,GCC编译器驱动程序读取hello.c源文件然后翻译成一个可执行的目标文件hello. 翻译执行的4个阶段在图1.3中有展示. 执行(perform)这四个阶段的程序(programs)(预处理器、编译器、汇编程序和链接q器被统称为编译系统(compilation system)。

•预处理阶段. 预处理器(cpp)修改最初的C语言程序通过以# 字符开始的指令.例如, #include <stdio.h>命令在hello.c 的第一行告诉预处理器读取在系统中头文件stdio.h的内容和直接进入插入程序文本. 这个结果是一个其他的C语言程序,通常后缀名(suffix)是 .i

•编译阶段(compilation phase).编译器(cc1)翻译文本文件hello.i 变成文本文件 hello.s,其中包含汇编语言(assembly-language)程序. 汇编语言程序中的每个语句(statement)都准确地描述了一个低级语句标准文本形式的机器语言指令。汇编语言是实用的,因为它为不同语言的不同编译器(compilers)提供了一种通用的输出语言. 例如,C语言编译器和Fortran语言编译器两者都是以相同的汇编语言生成(generate)输出文件.

•汇编(assembly)阶段. 接下来,汇编程序(assembler)把hello.s转换成机器语言指令.把它们打包成可重定位的目标程序形式并将结果存储在对象文件hello.o中。hello.o文件是一个二进制的文件,它的字节编码是机器语言指令而不是字符集.如果我们观察hello.o的文本编辑,它将会看起来令人费解.

•链接器阶段.注意,我们的hello.c程序调用(calls)printf函数(function).它是每一个C语言编译器都提供的标准C语言函数库中的一个函数. printf 函数驻留在(resides)单独的(separate)一个被称为printf.o的预编译(precompiled)对象文件里,它必须以某种方式(somehow)和我们的hello.o程序合并(merged).链接器处理这个合并.它的结果是hello 文件. 它是一个可执行的目标文件(或一个简单的可执行文件(executable,可执行文件)) ,它可以被加载(loaded)到内存(memory)中然后被系统执行(executed).

相关文章

  • CSAPP translation page 3

    这里,GCC编译器驱动程序读取hello.c源文件然后翻译成一个可执行的目标文件hello. 翻译执行的4个阶段在...

  • CSAPP translation page 1

    1.1信息就是位(bits)+上下文(context) 我们的hello 程序生命开始就是一个源程序(或者称为一个...

  • CSAPP translation page 6

    总线 在整个系统中运行的是称为总线(buses)的电导管(electrical conduits)集合,它们在组件...

  • CSAPP translation page 4

    旁注: GNU项目 GCC是CNU项目开发出来的许多实用工具之一.GNU项目是理查德·马修·斯托曼(Richard...

  • CSAPP translation page 7

    第6章详细的讲关于输入/输出设备像磁盘的工作. 在第10章, 你将要学习怎样使用Unix的输入/输出接口从应用程序...

  • CSAPP translation page 10

    这本书当中的一个重要结论(lessons)之一就是,意识到高速缓存存储器的应用程序员能够利用(exploit)它们...

  • CSAPP translation page 8

    •加载:从主存复制一个字节或一个字到寄存器(register)里, 覆盖寄存器以前的内容. •储存:从寄存器复制一...

  • CSAPP translation page 9

    1.5高速缓存非常重要 这个简单的例子有重要的经验,系统花费大量的时间把信息从一个地方传送到另外一个地方. hel...

  • CSAPP translation page 2

    旁注: C编程语言的起源 C语言在1969年到1973年由贝尔实验室由丹尼斯•里奇(Dennis Ritchie)...

  • CSAPP translation page 13

    1.7.1进程 当程序例如hello程序运行在现代系统当中, 操作系统给我们了一个程序只运行在系统里面的错觉(il...

网友评论

      本文标题:CSAPP translation page 3

      本文链接:https://www.haomeiwen.com/subject/zloxkctx.html