c/c++编译原理浅谈(一)

本文介绍了c/c++编译原理,从预处理、语言分析、汇编过程、优化阶段到代码生成,详细阐述了编译的各个阶段,帮助理解如何将高级语言转化为机器可读的二进制代码。
摘要由CSDN通过智能技术生成

-------------前言

浑浑噩噩就看完了一遍《高级c/c++编译技术》,我知道看完一遍是不行,而且光是看也是不行的,先写下这篇博文也权当是记录下我的一些猜想,当然是未经过验证的,经过验证就不是猜想了。最终,在下有什么说得不对的,请各位大侠指正,不断学习不断进步!

-------------正文

先说一下这本书。这本书是由Milan Stevanovic大佬写的,卢誉声所译。结构内容是硬件基础,程序的生命周期,生命周期中的各个阶段的介绍,各类问题的解决。

第一章讲解的是他的硬件支持,因为最终编译是要编译成机器能够读懂的二进制语言,所以首先我们先要知道我们的目的是什么,高级语言c/c++----------》某种工具(先把他当成一个黑箱)-------------》二进制文件。那么,机器能够读懂的二进制语言是需要到专用的芯片的指令,更重要的是指令的地址怎么得到,怎么做才能得到我们的二进制文件,怎么做才能解决我们问题。这就是我大概能读懂的意思,我还没看过操作系统,一些更深的东西还没看懂。

总结起来就是,最终我们要控制的是我们的I/O设备,主存释放字节流,作为与IO进行数据交换的直接港口,主存被要求速度必须快,但是受成本问题,往往越大越贵,所以有一种缓存机制,一个折中的方法。缓存往往有多级,接近IO的越快,接近cpu的慢,这种分级制度在某种程度上起到了缓冲的作用,但是不可避免的,当IO数据量很大的时候,主存往往会请求硬盘帮忙,这就使虚拟内存的机制,这时就会显得很卡。它使得

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值