gpt4 book ai didi

c++ - 各种版本的 Mac OSX 的向后兼容性如何? (Xcode C++

转载 作者:行者123 更新时间:2023-12-05 07:14:26 32 4
gpt4 key购买 nike

我正在开发一款使用 C++ 并依赖于 OpenGL 遗留功能的游戏。

我主要在 Windows 机器上进行编程,现在正在考虑扩展到 Linux 和 Mac OS。作为个人挑战,我希望让我的软件尽可能向后兼容并支持尽可能多的操作系统。对于 Windows,我已经能够维持对低至 Windows 95 的支持(使用 Visual Studio 在这个过程中给我带来了一些麻烦,但仍然解决了这个问题)。但是,我对 Mac OS 几乎一无所知,直到现在我自己才使用过它。考虑到我的软件在 Windows 95 上运行,它当然不需要任何高级功能。

旧版本的 Xcode 似乎支持的最低 Mac OS 版本是 10.1.x。如果我要为这个版本的 Mac OS 编写软件,它会在更现代的 Mac OS 版本上运行吗?我读过有一些软件补丁可以在 never 版本上支持某些较旧的 MacOS 软件,但我不想那样给最终用户带来不便。我不介意构建两个不同版本的软件(例如,传统和现代启动器),但必须构建五个或十个不同版本的软件将是一个巨大的痛苦,我宁愿尽可能避免这种情况。

对于我在该领域缺乏知识,我深表歉意,我自己的研究只提供了非常有限的信息,我宁愿不要在毫无结果的努力上浪费数周时间。

TL;DR:我想用 Xcode (C++) 为 Mac OSX 编写软件,以支持尽可能多的操作系统版本。如果我的目标是 Mac OS 版本 10.1,我可以期望它在现代版本的 Mac OS 上运行吗?如果不是,要支持尽可能多的 Mac OS 版本需要付出多少努力?

最佳答案

您将不得不决定在何处停止支持,或者您将不得不在不同的专门构建的构建环境中构建应用的多个版本。

现代 macOS (10.15) 仅限 64 位 x86-64,对 32 位应用程序的支持为零。如果您在 10.15 上构建,您甚至无法构建 32 位图像。如果您这样做,它将链接到旧版本操作系统上不存在的库。

Mac OS X 10.6 是最后一个发布的 32 位 x86 版本,但也是操作系统的第一个 64 位版本,因为它代表了向 64 位的过渡。它也是最后一个发布的 PowerPC 版本。

如果你想支持 PowerPC 机器,这在 10.1 时代是唯一的选择,你需要一个兼容的系统来构建它。

在生态系统方面,大多数 Mac 用户都能够运行当前版本的操作系统。任何 2012+ 版本仍然可以获得当前的操作系统版本,这是很多硬件。在此之前的任何东西都是 32 位和 PowerPC 硬件的混合,尽管你不会看到很多人在野外使用这样的系统。

简而言之,10.15 很容易,10.14 和 10.13 不会很难。超过 10.6 的任何事情都会有不同程度的挑战,但超过 10.6 的事情就会变得非常复杂。

估计受欢迎程度的一种方法是像 Steam Hardware Survey 这样的东西 segmentation 如下所示:

  • 10.15:31.6%
  • 10.14:34.1%
  • 10.13:14.8%
  • 10.12:5.7%
  • 10.11:3.7%

所以好消息是,在 10.13 之后情况急剧下降,到 10.11 时,运行这么旧操作系统的用户已经不多了。

关于c++ - 各种版本的 Mac OSX 的向后兼容性如何? (Xcode C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59914543/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com