在Objective-C (或Objective-C++)源文件中是否有#pragma (或其他构造)显式启用自动引用计数?如果没有启用ARC,源文件会导致编译失败,那就更好了。
我开始有一些仅限ARC的源文件,可以潜在地与其他项目共享。其中大多数包含用于扩展内置类的类别方法。我只是不想在非ARC项目中意外地包含这些,并开始泄漏内存。
提前感谢!
发布于 2011-11-16 23:25:10
据我所知,目前还没有明确启用或禁用ARC的方法。
但是,可以检测它是否已启用。只需将以下代码片段添加到任何需要ARC的文件中。
#ifndef __has_feature
#define __has_feature(x) 0 /* for non-clang compilers */
#endif
#if !__has_feature(objc_arc)
#error ARC must be enabled!
#endif更多信息:
http://clang.llvm.org/docs/AutomaticReferenceCounting.html
http://clang.llvm.org/docs/LanguageExtensions.html#__has_feature_extension
https://stackoverflow.com/questions/8136099
复制相似问题