编译C程序到处跑?

标签 c assembly process intel amd-processor

我了解到,当 C 编译器编译代码时,它会将代码编译成特定于编译它的处理器的机器码。例如,是否可以在 Intel 机器上编译我的 C 程序,然后让它在 AMD 机器上运行,而无需在配备 AMD 处理器的机器上重新编译?

最佳答案

其实常见的Intel和AMD处理器都是基于X86架构的。虽然C程序不能一次编译就“处处运行”,但Intel和AMD处理器在这个意义上确实是同一个地方。

例如,您并不真正担心单个可执行文件(比如游戏安装程序)无法在您的 Windows 机器上运行,无论它是 Intel 还是 AMD 内部。

Mac/ARM/68k等其他架构(不同指令集)需要担心重新编译

关于编译C程序到处跑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22272142/

相关文章:

c - 随机数数组中的变量有问题

c - C 中 FILE 结构中的 r+ 是什么?

assembly - 程序计数器保存的是当前地址还是下一条指令的地址?

汇编学习资源?

c - C 中 Ackermann 函数的替代实现

python - 如何在Python中识别进程处于卡住状态?

C -- 通过带别名的非 const 指针修改 const

c - 使用函数指针的正确风格是什么?

Linux shell 创建后台进程 -- ls & 不返回提示符,需要按下 Enter

unix - 如何将进程放入 "uninterruptible sleep"?