主题:为什么高级语言可移植性强于汇编
			 euclid
				 [专家分:1670]  发布于 2005-06-06 09:26:00
 euclid
				 [专家分:1670]  发布于 2005-06-06 09:26:00							
			这虽是个常识。汇编语言转化成对应cpu的机器码,而高级语言同样要编译成机器码,为什么后者产生的机器码能适应不同的cpu呢?难道编译程序事先要判断所在的机型再产生对应的机器码吗?
请一定要指教啊
						
					 
		
			
回复列表 (共2个回复)
		
								
				沙发
				
					 Troy [专家分:120]  发布于 2005-06-09 15:42:00
Troy [专家分:120]  发布于 2005-06-09 15:42:00				
				汇编语言说抽象点就是机器语言,它与机器语言不同的是把机器语言的0  1  代码用注记符号来表示,。和机器语言是一一对应的,程序都是用指令来完成的,很多CPU的指令系统都不一样啊。所以不能跨越硬件,比如32位CPU有的指令有些16位CPU没有。怎么移植啊?
							 
						
				板凳
				
					 chujidiy [专家分:20]  发布于 2005-06-10 12:59:00
chujidiy [专家分:20]  发布于 2005-06-10 12:59:00				
				这个问题我还没有仔细地想过。
我只是知道,高级语言编译后得到地目标代码,可以根据机器地具体情况转换成可执行代码。因为高级语言和可执行代码之间多了一层,移植时在该层上做文章就可以了,平台的改变,影响的是中间这一层,而不会影响高级语言的代码。
可能原因就是这样的吧。
							 
									
			
我来回复