gpt4 book ai didi

objective-c - -DNDEBUG 和 -DNS_BLOCK_ASSERTIONS 标志有什么区别

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:02 27 4
gpt4 key购买 nike

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

This argument disables the C standard library assertion macro (as defined in assert.h).

虽然,当我检查我的build设置时,我发现通过描述标志 -DNS_BLOCK_ASSERTIONS=1 非常相似。

所以我现在想知道。我真的需要 FauxPas 建议的标志,还是我对现有的标志没问题?

最佳答案

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

关于objective-c - -DNDEBUG 和 -DNS_BLOCK_ASSERTIONS 标志有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33691547/

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