标签: c
我有两个关于-DNDEBUG的问题,在做了一些阅读之后我并不太了解。
1)如果同时使用-DNDEBUG和-g标志会导致问题吗?
2)-DNDEBUG标志是否关闭断言? (这意味着断言不起作用)
答案 0 :(得分:2)
展开@kaylum的有效回答。
-DNDEBUG由两部分组成,标志-D和参数NDEBUG。该标志用于创建预处理器定义,因此这将创建一个名为#define的新预处理器NDEBUG
-DNDEBUG
-D
NDEBUG
#define
-g是用于生成调试信息的编译器开关。它与使用-D创建定义完全分开。阅读有关调试标志here的更多信息。
-g