gpt4 book ai didi

c++ - CUDA : NVCC gives controlling expression is constant warning on assert

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:33 28 4
gpt4 key购买 nike

我在这样的断言语句中收到警告 controlling expression is constant:

assert(... && "error message");

为什么要对这个断言发出警告?我怎样才能抑制这个警告?

NVCC是NVIDIA的cuda编译器,我觉得是基于LLVM的。为什么它会发出此警告,而 GCC 或 Visual C++ 编译器可以正常编译?

最佳答案

可移植的替代方案(可能包含在宏中)类似于:

 {
const bool error_message = true;
assert([...] && error_message);
}

澄清我的意思:

#define myAssert(msg, exp) { const bool msg(true); assert(msg && (exp)); }
// usage:
myAssert(ouch, a && b);

...给出例如:

assertion "ouch && (a && b)" failed [...]

关于c++ - CUDA : NVCC gives controlling expression is constant warning on assert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1712713/

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