竹纤维微观结构:关于编译问题

来源:百度文库 编辑:高校问答 时间:2024/05/02 08:46:52
最近在学编译原理,不同厂家的机器的指令集多少都会有所不同,1那么一种高级语言的编译程序是把代码
编译成一种特定的机器代码(可理解为中间代码)然后所有机器都有对该中间代码解释的微程序,还是编
译程序针对不同的机器编译出不同的代码?2用以C++写的程序(例如windows)为什么可以在各种不同的
机器上运行。3机器是如何最大限度保证尽可能多的指令被用到。如果有这方面的资料请推荐,如果你亲自回答请尽可能详细。《编译原理》只是讲如休何把一段
原程序编译成一种特定机器码的步骤却没有提到这方面的东西。

一般来说是先生成中间代码,然后根据具体的机器产出最终的机器码。产生中间代码的是编译器前端,都是一样的(实际情况是有少许差别的);而将中间代码转换成目标机器代码是由编译器后端完成的,不同的机器是不一样的。你如果对编译很感兴趣,推荐一本书:
《可变目标的编译...》(大致这个书名,只用前4个字就能找到)。