This question already has answers here:
Q_ASSERT release build semantics

(2个答案)


7年前关闭。




根据设计,Q_ASSERT不会导致应用程序在 Release模式下失败。我的问题是Q_ASSERT中的代码是否仍在 Release模式下运行?
bool assertTest()
{
    int x = 0;
    Q_ASSERT(++x);
    return x == 1;
}

Release模式下assertTest()返回的值是否与 Debug模式下返回的值不同?

最佳答案

Qt文档states



另外,如果断言被禁用,则将不执行Q_ASSERT条件。

关于c++ - Q_ASSERT语句中的代码是否在 Release模式下执行? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17071800/

10-11 22:01
查看更多