当前位置: 技术问答>linux和unix
关于编译器的问题_请教高手
来源: 互联网 发布时间:2015-08-11
本文导语: 在学习中对一点儿一直不明白,那就是我认为编译器应该是跟着硬件走的,即是不同的硬件上面 编译器应该是不同的.但是我不明白的是为什么在P2上的linux运行在P4上仍然可以呢?? 是不是虽然P2和P4拥有同样的硬件结...
在学习中对一点儿一直不明白,那就是我认为编译器应该是跟着硬件走的,即是不同的硬件上面
编译器应该是不同的.但是我不明白的是为什么在P2上的linux运行在P4上仍然可以呢??
是不是虽然P2和P4拥有同样的硬件结构只是速率不同了罢了。
还有,平时我们用GCC编译出来的二进制文件是不是直接驱动CPU的指令呢? 如果是的话,那么说明
P2和P4的指令是一样的罗。
是不是说如果P4加了新的硬件功能,那么为了充分发挥P4的作用,必须要重新加入针对P4的编译?
小弟对此事一直想不明白,希望高人能够得到高人指点,先谢过了
编译器应该是不同的.但是我不明白的是为什么在P2上的linux运行在P4上仍然可以呢??
是不是虽然P2和P4拥有同样的硬件结构只是速率不同了罢了。
还有,平时我们用GCC编译出来的二进制文件是不是直接驱动CPU的指令呢? 如果是的话,那么说明
P2和P4的指令是一样的罗。
是不是说如果P4加了新的硬件功能,那么为了充分发挥P4的作用,必须要重新加入针对P4的编译?
小弟对此事一直想不明白,希望高人能够得到高人指点,先谢过了
|
intel的芯片都是向下兼容的,
但如果你用到比如龙芯上,那就不行了
所以在龙芯上用的linux必须针对龙芯来编译过,这样编译器的代码输出部分就会生成
特殊的代码
还有一点要知道,为什么intel的指令,结构这么复杂呢,保护模式....
主要是因为要向下兼容,不能说升级了以前的程序都不能用了
所以龙芯在设计的时候可比intel的简单多了,像linux一样,只需要使用intel的一部分功能就能变成最强的操作系统了,根本不需要这么复杂的
但如果你用到比如龙芯上,那就不行了
所以在龙芯上用的linux必须针对龙芯来编译过,这样编译器的代码输出部分就会生成
特殊的代码
还有一点要知道,为什么intel的指令,结构这么复杂呢,保护模式....
主要是因为要向下兼容,不能说升级了以前的程序都不能用了
所以龙芯在设计的时候可比intel的简单多了,像linux一样,只需要使用intel的一部分功能就能变成最强的操作系统了,根本不需要这么复杂的
|
p2的指令和p4是兼容的.不同的系列的cpu指令集不同