-1

目前,我正在编译:

clang -Oz -g

但我想应用一个标志,-mtune如果可能的话-march,以及任何其他在 OS X Leopard 支持的所有英特尔架构上都有效的东西。

具体来说,我要问:我应该指定哪个-mtune-march标志,以便我的二进制文件针对 10.5 进行了优化,并将在所有受支持的英特尔处理器上运行 10.5?

另外,我想对 32 位和 64 位部分应用不同的调整,这可能吗?如果是这样,我应该将 64 位部分调整为什么?

对于奖励积分,我对 PowerPC 也很感兴趣,以供将来参考,尽管目前我不支持。

4

1 回答 1

1

您可以使用不同的标志和其他标志构建单独的二进制文件-march,但请注意,-march可以使用早期处理器上不可用的指令。-mtune并且可以选择有利于特定处理器的-mcpu指令、对齐方式等,但可以在该系列的所有处理器上运行。

要调整到不同的架构(i386、x86-64、ppc、ppc64),您必须查阅 clang / gcc 的手册页。在单独构建之后,应该可以使用lipo创建一个通用二进制文件。这里有一个简单的例子。


对于 Apple 的编译器,您应该使用-arch规范和-mmacosx-version-min=10.5,前提是您仍然拥有 10.5 的 SDK。

于 2013-06-13T18:22:59.400 回答