gpt4 book ai didi

c++ - Objective C/C++ 是否有像 __APPLE__ 这样的定义

转载 作者:行者123 更新时间:2023-11-30 01:52:10 31 4
gpt4 key购买 nike

我得到了一个小的 C++ 帮助文件,它有一些对 std::strings 的支持函数。当我在“.cpp”文件和“.mm”文件中使用它时,我想添加一些 Objective C++ 辅助函数。现在我搜索如下定义:

#ifdef __APPLE__
#ifdef __I_AM_INCLUDED_IN_A_MM_FILE__
// define some Objective C++ code here
#endif
#endif

有定义吗?是否有 XCode 定义列表?

最佳答案

__OBJC____OBJC2__ 是在编译.mm 文件时定义的。

为了将来引用,您可以按如下方式测试这样的事情:

$ clang -dM -E foo.mm > mm.txt
$ clang -dM -E foo.cpp > cpp.txt
$ sdiff -s mm.txt cpp.txt
#define IBAction void)__attribute__((ibaction) <
#define IBOutlet __attribute__((iboutlet)) <
#define IBOutletCollection(ClassName) __attribute__((iboutlet <
#define OBJC_ZEROCOST_EXCEPTIONS 1 <
#define __NEXT_RUNTIME__ 1 <
#define __OBJC2__ 1 <
#define __OBJC__ 1 <

(注意 foo.mm 和 foo.cpp 只是空文件)

关于c++ - Objective C/C++ 是否有像 __APPLE__ 这样的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25061507/

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