首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目标C/C++有像__APPLE__这样的定义吗?

目标C/C++有像__APPLE__这样的定义吗?
EN

Stack Overflow用户
提问于 2014-07-31 14:28:24
回答 1查看 1.4K关注 0票数 2

我得到了一个小的C++助手文件,它对std::string有一些支持功能。当我在".cpp“文件和".mm”文件中使用它时,我想添加一些客观的C++助手函数。现在我搜索一个定义,比如:

代码语言:javascript
复制
#ifdef __APPLE__
#ifdef __I_AM_INCLUDED_IN_A_MM_FILE__
// define some Objective C++ code here
#endif
#endif

有什么定义吗?是否有XCode定义的列表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-31 14:37:35

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

对于将来的参考,您可以这样测试,如下所示:

代码语言:javascript
复制
$ 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只是空文件)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25061507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档