为什么汇编程序可移植性差

汇编的实质是机器指令(机器码)的助记符,是一种低级符号语言,机器指令集是一款CPU的编程特征,是这款CPU的设计者制定的,CPU的内部电路设计就是为了实现这些指令集的功能。

 

任何一行C语言,由编译器编译成不同的机器语言。
而汇编语言,是针对某一个CPU而写的,不能编译到另一个CPU。
比如,C语言的 a = b + c; 编译器可以编译到x86、arm、mips
而X86的
   add eax,ebx 就只是X86 汇编的。
而mips的,可能是
   add $t0,$t0,$t1

汇编用于底层(比如系统的启动阶段,C语言程序还无法运行)。

C语言用于编写操作系统及其相关(相比于汇编,其具有一定的可移植性,相比于Java等高级语言,其具有高效率)【注释:C语言程序与操作系统有关,不同的平台(Windows、Linux)对C语言做了不同程度的支持和拓展,所谓的拓展即是在原有的C标准的基础上,又设计和实现了高层的api,如果考虑到跨平台的特性,则在开发时应当避免这个某些函数的调用】。

Java、c#等高级语言用于大型项目(可移植性更高)

有句话说得好:“再难的东西,只要在中间加一个层,啥都可以解决”。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值