如何在 C 中定义特定版本的 macOS
How to define a specific version of macOS in C
我们可以使用#ifdef __linux_
或#ifdef __APPLE__
来识别用户的操作系统。但是我们可以定义不同版本的操作系统吗?例如在 macos Big Sur 和 macos Monterey 之间。
为了寻找答案,我遇到了 Availability.h 库,但我不太明白如何找到 OS
的正确版本
您可以在 C/C++ 代码中在运行时测试 OS,如下所示:
if (__builtin_available( macOS 12.0, * ))
{
// Monterey or later
}
else
{
// before Monterey
}
当然你得想想macOS13出来后会发生什么。
我们可以使用#ifdef __linux_
或#ifdef __APPLE__
来识别用户的操作系统。但是我们可以定义不同版本的操作系统吗?例如在 macos Big Sur 和 macos Monterey 之间。
为了寻找答案,我遇到了 Availability.h 库,但我不太明白如何找到 OS
的正确版本您可以在 C/C++ 代码中在运行时测试 OS,如下所示:
if (__builtin_available( macOS 12.0, * ))
{
// Monterey or later
}
else
{
// before Monterey
}
当然你得想想macOS13出来后会发生什么。