【发布时间】:2014-03-08 16:47:12
【问题描述】:
我了解,当 C 编译器编译代码时,它会将其编译为特定于编译它的处理器的机器代码。例如,是否可以在 Intel 机器上编译我的 C 程序,并让它在 AMD 机器上运行,而无需在配备 AMD 处理器的机器上重新编译它?
【问题讨论】:
-
你在说什么开发栈?
-
x86 intel 和 x86 amd 在大多数情况下是兼容的。然而,即使在同一制造商的型号之间,支持的指令子集(例如 SSE 或 AVX)、cpu 功能或优化指南之间也存在差异。您应该针对您所针对的所有处理器支持的公共子集进行编译。
-
@ChrisBallard 你所说的开发堆栈是指我在使用什么?我使用的是基于 Intel 的 Mac,但我想为具有不同处理器的机器进行编译。
-
@Jester 有没有好的交叉编译器?
-
@user3318845 GCC 交叉编译器 - cowlark.com/2009-07-04-building-gcc 只需将目标更改为您想要的...(这个有 ARM)
标签: c assembly process intel amd-processor