编译器是如何工作的?
编译和运行期的加载是两回事:加载是加载二进制格式到不同的内存里。
编译器简单来说就是读入字节流处理后输出字节流的程序。
从读入字节流变换到输出字节流的过程,这块的过程是什么知识点?
在编译原理书中只能看到编译器程序工作后的结果,将输入的高级语言变成相应的输出。
但是老是控制不住去幻想:编译器程序工作过程中,会不会用到cpu和内存的?操纵cpu和内存这些硬件需要01机器码,源代码需要经过编译器或者解释器最终得到机器码才能在硬件上工作。但是编译器本身是一个由算法和数据结构组成的程序,它怎么实现翻译高级语言的动作呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
编译器分前端后端, 你说的这些是后端干的事:目标代码生成和优化
比如LLVM就擅长干这事
编译原理的书讲后端的很少,但是概念多少讲到了