读书笔记_深入理解计算机系统_第一章_计算机系统漫游

Posted 龙爷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记_深入理解计算机系统_第一章_计算机系统漫游相关的知识,希望对你有一定的参考价值。

 

hello.c

#incude <stdio.h>

int main()

{

  printf("Hello,world\n");

}

1.1信息就是位+上下文

系统所有的信息,都是由一串位表示的。

在不同的上下文中(可以理解为程序,或者运算),一个同样的字节序列可能表示一个整数,浮点数,字符串或者机器指令。

2.2程序被其他程序翻译成不同的格式

如Hello程序,从源文件hello.c中的每条C语句,需被其他程序转换为一系列低级语言(汇编)指令,然后将这些指令按照一种称为可执行目标程序的格式打包,以二进制磁盘文件格式存放起来。目标程序也称为可执行目标文件。

在linux中,从源文件到目标文件可用编译驱动程序完成

gcc -o hello hello.c

GCC编译驱动程序将hello.c翻译成一个可执行目标文件,过程分为四个阶段

1.预处理阶段

  读取头文件中的内容,将它插入上下文,#include <stdio.h>,生成.i作为扩展名。

2.编译阶段

  将.i翻译成.s汇编语言程序

3.汇编阶段

  将汇编语言翻译成机器语言,将指令打包成一种叫可重定位目标程序的格式.o,一个二进制文件

4.链接阶段

  将printf.o预编译文件链接入hello.o

 

1.3了解编译系统如何工作的最大益处

1.优化程序

2.理解链接时出现的错误

3.避免安全漏洞

以上是关于读书笔记_深入理解计算机系统_第一章_计算机系统漫游的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记深入分布式缓存 第一章

《深入理解计算机系统》第一章学习笔记

深入理解计算机系统_3e 第十一章家庭作业 CS:APP3e chapter 11 homework

《深入理解计算机系统》 读书笔记

Deep Learning(Bengio)第一章 读书笔记

[阅读笔记]深入理解计算机系统