-------------前言
浑浑噩噩就看完了一遍《高级c/c++编译技术》,我知道看完一遍是不行,而且光是看也是不行的,先写下这篇博文也权当是记录下我的一些猜想,当然是未经过验证的,经过验证就不是猜想了。最终,在下有什么说得不对的,请各位大侠指正,不断学习不断进步!
-------------正文
先说一下这本书。这本书是由Milan Stevanovic大佬写的,卢誉声所译。结构内容是硬件基础,程序的生命周期,生命周期中的各个阶段的介绍,各类问题的解决。
第一章讲解的是他的硬件支持,因为最终编译是要编译成机器能够读懂的二进制语言,所以首先我们先要知道我们的目的是什么,高级语言c/c++----------》某种工具(先把他当成一个黑箱)-------------》二进制文件。那么,机器能够读懂的二进制语言是需要到专用的芯片的指令,更重要的是指令的地址怎么得到,怎么做才能得到我们的二进制文件,怎么做才能解决我们问题。这就是我大概能读懂的意思,我还没看过操作系统,一些更深的东西还没看懂。
总结起来就是,最终我们要控制的是我们的I/O设备,主存释放字节流,作为与IO进行数据交换的直接港口,主存被要求速度必须快,但是受成本问题,往往越大越贵,所以有一种缓存机制,一个折中的方法。缓存往往有多级,接近IO的越快,接近cpu的慢,这种分级制度在某种程度上起到了缓冲的作用,但是不可避免的,当IO数据量很大的时候,主存往往会请求硬盘帮忙,这就使虚拟内存的机制,这时就会显得很卡。它使得