【发布时间】:2010-06-26 19:09:17
【问题描述】:
应该在 gcc 中启用哪个选项来生成 16 位或 32 位或 64 位目标代码?生成上述每种目标代码类型是否有单独的选项?
【问题讨论】:
标签: c linux gcc compiler-construction embedded
应该在 gcc 中启用哪个选项来生成 16 位或 32 位或 64 位目标代码?生成上述每种目标代码类型是否有单独的选项?
【问题讨论】:
标签: c linux gcc compiler-construction embedded
生成的目标代码的位数由构建 gcc 时选择的目标架构决定。如果你想为不同的平台构建,你应该为你想要的目标平台构建一个cross compiler。
但是请注意,GCC 不支持 16 位 x86,如果同时安装了 32 位和 64 位 x86 编译器,作为例外,您可以使用 -m32 或 -m64 选择所需的目标格式。
【讨论】:
-m32 或 -m64 只是告诉 GCC 调用适当的交叉编译器。大多数 Linux 发行版都可以同时安装。
-m32
要强制 gcc 生成 32 位代码,你可以给它 -m32 标志。要强制它生成 64 位代码,你可以给它 -m64 标志。我不知道 16 位的任何选项。
【讨论】: