对于 OS X 特定代码,我应该使用什么 C 预处理器条件?

发布于 2024-08-07 09:33:01 字数 151 浏览 4 评论 0原文

对于 OS X 特定代码,我应该使用什么 C 预处理器条件?如果我为 OS X 进行编译,则需要包含特定的库;如果为 Linux 进行编译,则需要包含不同的标头。

我知道有 __APPLE__ 但我不知道这是否是 OS X 10.x 的当前条件。

What C preprocessor conditional should I use for OS X specific code? I need to include a specific library if I am compiling for OS X or a different header if I am compiling for Linux.

I know there is __APPLE__ but I don't know if that is a current conditional for OS X 10.x.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

空城之時有危險 2024-08-14 09:33:01

此操作系统宏列表表示两者都存在 < code>__APPLE__ 和 __MACH__ 表示 OSX。

还在 fdisk 源代码的第 18 行进行了确认

This list of operating system macros says the presence of both __APPLE__ and __MACH__ indicate OSX.

Also confirmed at line 18 of part of the source for fdisk.

抠脚大汉 2024-08-14 09:33:01

__APPLE__ 会告诉您正在 Apple 平台上进行编译。除非您需要支持 OS X 之前的 MacOS 版本,否则这应该足够了。或者,您可以使用 __APPLE____MACH__ 来确保您在 OS X 上进行编译。

__APPLE__ will tell you you're compiling on an Apple platform. Unless you need to support MacOS versions before OS X, that should be good enough. Alternately, you could use __APPLE__ and __MACH__ to make sure you're compiling on OS X.

疧_╮線 2024-08-14 09:33:01

如果我没记错的话,是 __APPLE__ :)

If I remember correctly, it's __APPLE__ :)

铁憨憨 2024-08-14 09:33:01

此代码示例可能会帮助您 -

if defined(__APPLE__)
#include "TargetConditionals.h"
  if (!defined(TARGET_OS_IPHONE) && !defined(TARGET_IPHONE_SIMULATOR))
 {
   //write your OSX specific code here
 } 

This code example may help you -

if defined(__APPLE__)
#include "TargetConditionals.h"
  if (!defined(TARGET_OS_IPHONE) && !defined(TARGET_IPHONE_SIMULATOR))
 {
   //write your OSX specific code here
 } 
梦中的蝴蝶 2024-08-14 09:33:01

旧式原始:

#ifdef WIN32
// windows.
#elif __APPLE__
// osx and ios.
#endif

old style raw:

#ifdef WIN32
// windows.
#elif __APPLE__
// osx and ios.
#endif
吲‖鸣 2024-08-14 09:33:01

此页面包含所有操作系统预定义宏的列表。

对于 mac OSX,__APPLE__ &&需要定义__MACH__

This page contains a list of all OS predefined macros.

For mac OSX both the __APPLE__ && __MACH__ need to be defined.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文