gpt4 book ai didi

c++ - 依赖机器架构意味着什么?

转载 作者:行者123 更新时间:2023-11-28 00:56:08 24 4
gpt4 key购买 nike

我是 C++ 新手。最近我公司开始讨论为不同的机器架构编译代码,例如 X86_64 AMD 与 Intel

现在我查看了我们传递给编译应用程序的 gcc 标志,没有任何内容告诉 gcc 在 x86_64 上专门针对 AMD 和 Intel 进行编译。

有人可以用技术术语解释编译代码和机器架构之间的依赖关系吗?

我可以在 AMD 上使用 gcc-86_64 编译代码并在 intel x86_64 上运行二进制代码吗?

最佳答案

在 x86 32 位处理器之后,英特尔想转向 64 位,并与惠普合作开发了 64 位安腾处理器。不幸的是,这不是很流行,因为指令集和架构与 x86 有很大不同。

AMD 介入并将已知的 x86 架构扩展到 64 位,首先将其称为 EM64T,然后是 AMD64。就像 AMD 不得不跟随 Intel 推出 32 位处理器一样,Intel 现在不得不跟随 AMD 推出 64 位处理器,因为事实证明 AMD 的 64 位架构比 Itanium 64 位处理器更受欢迎。

当然,Intel 不喜欢它被称为 AMD64,这就是为什么他们称它为 x64,但本质上 AMD64 和 Intel 的 x64 是兼容的(除了一些细微差别,参见 http://en.wikipedia.org/wiki/X86-64#Differences_between_AMD64_and_Intel_64 )。如果您为 x64 或 AMD64 编译,生成的代码将避免这些差异,因此实际上您可以在两者上运行。

在任何情况下,尽量避免为 Itanium(也称为 IA-64)生成,因为这是一种完全不同的处理器。

关于c++ - 依赖机器架构意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com