【正确答案】
D
【答案解析】[解析] 本题主要考查对编译系统的理解。
求解这个题目,首先要了解源程序、中间代码、目标代码的关系。其中源程序是指用高级语言编写的程序,将源程序经过编译,就可以得到中间代码并最终得到目标代码,目标代码就是可以在具体机器上执行的代码,这时源程序和编译程序都不再参与目标程序的执行过程,所以在机器上运行的目标程序是完全独立于源程序的。
另外,目标代码是在机器上运行的代码,所以它的生产与目标机器的体系结构是密切相关的。
中间代码是一种简单且含义明确的记号系统,与具体的机器无关,可以有若干种形式。可以将不同的高级程序语言翻译成同一种中间代码,另外由于与具体机器无关,使用中间代码有利于进行与机器无关的优化处理,以及提高编译程序的可移植性。
编译是将高级语言源程序翻译成机器语言程序(即目标代码),反编译是编译的逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序。