- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我继承了一个新项目,它有几个保留周期警告,这是由于在各个 block 中隐式保留 self 而引起的。
为了解决这些问题,我写了
__weak typeof(self) weakSelf = self;
创建 block 内使用的弱引用。
但是,Xcode v.5.1.1 给出了神秘的警告
Lexical or Preprocessor Issue
Extension used
我在这里不知所措——这是什么意思,我怎样才能摆脱它?
最佳答案
如果在build设置中启用了“Pedantic Warnings”,则会收到此警告以使用 typeof
。来自此设置的“快速帮助”:
Description Issue all the warnings demanded by strict ISO C and ISO C++; reject all programs that use forbidden extensions, and some other programs that do not follow ISO C and ISO C++. For ISO C, follows the version of the ISO C standard specified by any -std option used. [GCC_WARN_PEDANTIC, -pedantic]
我不是 (ISO) C 标准方面的专家,但根据 https://gcc.gnu.org/onlinedocs/gcc/Typeof.html :
If you are writing a header file that must work when included in ISO C programs, write
__typeof__
instead oftypeof
. See Alternate Keywords.
和http://clang.llvm.org/docs/UsersManual.html :
The parser recognizes “
asm
” and “typeof
” as keywords in gnu* modes; the variants “__asm__
” and “__typeof__
” are recognized in all modes.
您可以使用 __typeof__
代替如果您不想禁用警告:
__weak __typeof__(self) weakSelf = self;
关于ios - 修复 Xcode 中的 "Lexical or Preprocessor Issue - Extension used"警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511982/
我正在考虑在某些项目中使用 Boost.Preprocessor,但我不想让整个 Boost 库成为依赖项。 我可以单独复制它并摆脱它吗?否则,它的依赖项是什么? 最佳答案 新答案 我刚刚让 bcp
从我关于 appending to CPP macros 的问题中分离出来: 这里有没有人用过Boost.Preprocessor库的数据类型来实现类似 X 宏的东西? 最佳答案 我只是查了一下 X-
我想用不同的预处理器运行 Karma 几次。基于失败,karma exec 在命令行上监听 --preprocessors,但我无法正确设置它。 以下都返回相同的错误。 karma start --s
我有一个带有预处理器指令的Inno Setup脚本(#define,#if等)。 我想在脚本上运行Inno Setup预处理器,并查看预处理器的输出(以Inno-Setup口语翻译)。也就是说,我要查
在我的项目中,ifdef预处理程序指令中包含一个文件 #ifdef SOME_SYMBOL ... entire file ... #endif SOME_SYMBOL由在此文件之前编译的另一个文件定
在tracing.hh中,我有一组调试宏。它是否生成代码和输出由实际源代码中的宏标志控制: // File: foo.cc #define TRACING 0 #include "tracing.h
我了解 ANN 输入必须标准化、标准化等。 撇开各种 ANN 的特性和模型不谈,在将其作为神经网络的输入之前,如何在 {0,1} 范围内或在 {-1,1} 范围内预处理 UTF-8 编码文本? 我一直
我正在选修数据挖掘本科类(class),并且收到了编写数据挖掘预处理器的作业。我可以自由选择编程语言和数据集。我想知道是否有人可以建议一个好的数据集来使用。我一直在经历UCI Repository我还
当我同时定义两条指令时,如何做到这一点,我会收到编译错误? 在这里我想要错误 #define ENG #define POL #if defined POL #if defined ENG 这里没有
LLVM libc++ 头文件有一个宏,用于函数声明,名为 _LIBCPP_INLINE_VISIBILITY . 我不明白这是什么意思;我查看了它的定义,它说: // Just so we can
我正在使 1991 年的代码在 Ubuntu 19 上运行。 我有这个文件,我需要通过 CPP 运行,我被迫使用 -traditional 选项。 #define ITEM_WEAPON 5 #def
我想使用预处理器注释一行: #define open /##* #define close */ main() { open commented line close } 当我这样做时
我不敢相信我会问这个...... 好久没用VC6了。我设置了我认为是包含文件附加目录的正确方法(我删除了另一个开发人员的硬编码路径)并放入如下内容: %MY_DIR%\包括 但这行不通。我错过了什么吗
有预处理器宏定义其中的函数名称,__func__对于 g++ 和 __FUNCTION__对于 CL。 ( func 是执行此操作的 C++ 标准方法(来自 dcl.fct.def.general),
这个问题已经在这里有了答案: 9年前关闭。 Possible Duplicate: C preprocessor: using #if inside #define? 在define的rhs中包含预处
考虑这个代码: #define N_ 0 #define N_X 1 #define M(a) N_ M(arg)X; // #1 -- I'd like this to expand to
在 C /C++ 有两种类型的宏: #define ABC /* usual */ 和 #define FUNC(a) /*function-like*/ 但是我怎么能取消定义它们呢? 更新
有没有办法在编译时而不是在运行时有条件地做到这一点? “标志”将永远是一个常数。 A() 和 B() 是宏。 #define DEMO(flag, p) if (flag) A(p); else B(
是否有某种方法可以将 pragma 语句与其他语句一起嵌入到宏中? 我正在努力实现以下目标: #define DEFINE_DELETE_OBJECT(type)
是否可以在 C 中编写自定义条件预处理器指令。例如; #define _IF_ (condition, explanation) \ #ifdef condition 每条评论都会很棒,
我是一名优秀的程序员,十分优秀!