5

我试过FauxPas源代码分析器,它告诉我我缺少-DNDEBUG标志,下面有描述:

此参数禁用 C 标准库断言宏(如 assert.h 中所定义)。

不过,当我检查我的构建设置时,我发现 description flag 非常相似-DNS_BLOCK_ASSERTIONS=1

所以我现在想知道。我真的需要FauxPas暗示的旗帜还是我对我拥有的那面没问题?

4

1 回答 1

11

NDEBUGdisables assert(),它是 C 标准库的一部分。NS_BLOCK_ASSERTIONS禁用NSAssert()这是 Foundation 的一部分。如果您的代码中有两种断言,您通常都需要这两种断言。

于 2015-11-13T14:17:51.600 回答