0

我们有一个基于 C++/Objective C 的应用程序。我们使用 LLVM-GVC 编译器来编译我们的代码。

目前我们构建 32 位二进制文​​件并将它们部署在我们客户的机器上。我们支持 SnowLeopard、Lion、Mountain Lion 和 Mavericks。我知道所有这些都是 64 位操作系统。他们可以很好地运行 32 位二进制文​​件。

但我想知道,今后,部署我的应用程序的 64 位二进制文​​件是否更好?我可以编译我们的代码库并构建 64 位二进制文​​件,但我必须链接到第 3 方 64 位库等。我认为它是可行的。

我的问题是部署 64 位二进制文​​件有什么优势,前提是 32 二进制文件仍然可以在这些操作系统上运行?

还有通用二进制呢?你们认为构建通用二进制文件会是更好的选择吗?如果是,为什么?

我很感激任何想法/建议。

4

1 回答 1

0

如果您的二进制文件是独立的应用程序,因为它们不是其他程序的插件或 dylib,那么使用 32 位二进制文​​件没有任何问题。你的陪伴很好;如果您查看 Google 的 Chrome 浏览器,它也使用 32 位二进制文​​件。

64 位的优点是您可以在需要时寻址更多内存,我认为有一些汇编指令比 64 位指令更快,但总的来说,如果它适合您,我不相信它是问题。

如果您发现自己创建了一个必须与 32 位和 64 位应用程序一起使用的 dylib,这将是创建通用二进制文件的原因,以节省必须创建一个并在运行时计算出您需要的文件;使用 Universal Binary OSX 将为您解决这个问题。

于 2013-11-13T09:03:10.057 回答