您的位置:首页 > 理论基础

第一章 计算机系统漫游----《深入理解计算机系统》 第二版

2014-03-30 13:27 302 查看
第一章 计算机系统漫游----《深入理解计算机系统》 第二版

今天开始恶补计算机基础,第一本书《深入理解计算机系统》 第二版

原文:像hello.c这样只由ASCⅡ字符构成的文件称为文本文件,所有其他文件都称为二进制文件。

有点疑惑,百度了下,各种说法都不一样,如下:

从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。

ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:

ASC码: 00110101 00110110 00110111 00111000

↓ ↓ ↓


十进制码: 5 6 7 8 共占用4个字节。

ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。 输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。

找了给关于文本文件的帖子:http://www.amobbs.com/forum.php?mod=viewthread&tid=752335

1.7.1节讲到的进程的虚拟地址空间,其中包括用户栈,编译器用它来实现函数调用,这里的编译器和编译系统中把hello.i编译成hello.s的编译器(ccl)相同吗?

根据我的理解,编译器的功能应该是用来把源程序编译成可执行目标文件的,进程的虚拟地址空间是用来执行可执行目标文件的,那既然已经是可执行目标文件了,这里讲的编译器用它(用户栈)来实现函数调用又是什么意思,编译器在这里的功能是什么?

超线程的概念
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: