关于编译器的问题_请教高手

guaiwei 2004-11-01 08:59:14
在学习中对一点儿一直不明白,那就是我认为编译器应该是跟着硬件走的,即是不同的硬件上面
编译器应该是不同的.但是我不明白的是为什么在P2上的linux运行在P4上仍然可以呢??
是不是虽然P2和P4拥有同样的硬件结构只是速率不同了罢了。

还有,平时我们用GCC编译出来的二进制文件是不是直接驱动CPU的指令呢? 如果是的话,那么说明
P2和P4的指令是一样的罗。

是不是说如果P4加了新的硬件功能,那么为了充分发挥P4的作用,必须要重新加入针对P4的编译?

小弟对此事一直想不明白,希望高人能够得到高人指点,先谢过了
...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guaiwei 2004-11-01
  • 打赏
  • 举报
回复
谢谢答复
那么说如果用其他不兼容的CPU编译器就是不同的?? 也就是说AMD芯片的指令和
P系列芯片的指令是兼容的。是把
qinzheng 2004-11-01
  • 打赏
  • 举报
回复
p2的指令和p4是兼容的.不同的系列的cpu指令集不同
guaiwei 2004-11-01
  • 打赏
  • 举报
回复
谢谢 arnold8792 和 qinzheng ,我现在明白了,我的MSN是dolphin_clay@hotmail.com
arnold8792 2004-11-01
  • 打赏
  • 举报
回复
intel的芯片都是向下兼容的,
但如果你用到比如龙芯上,那就不行了
所以在龙芯上用的linux必须针对龙芯来编译过,这样编译器的代码输出部分就会生成
特殊的代码

还有一点要知道,为什么intel的指令,结构这么复杂呢,保护模式....
主要是因为要向下兼容,不能说升级了以前的程序都不能用了
所以龙芯在设计的时候可比intel的简单多了,像linux一样,只需要使用intel的一部分功能就能变成最强的操作系统了,根本不需要这么复杂的
huangyang88 2004-11-01
  • 打赏
  • 举报
回复
32位的程序就不能运行到16位吧
p2和p4都是32位吧

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧