gpt4 book ai didi

c++ - 如何在 PC-lint 中禁用对 static_asserts 的评估

转载 作者:太空狗 更新时间:2023-10-29 23:15:31 25 4
gpt4 key购买 nike

我正在使用 C++ 的 static_assert 特性在编译时检查通常应该通过的东西,例如:

static_assert( SOME_CONSTANT < 1000u, "..." );

在该代码上运行 PC-lint(版本 9.00k)会发出注释 948:“运算符 '<' 始终计算为 True”,这对于 static_asserts 来说有点毫无意义。

我知道我可以将 //lint !e948 附加到每个 static_assert(这是我现在所做的)或全局禁用 948,但这也会隐藏其他地方的合法错误。

是否可以告诉 PC-lint 不要评估/检查 static_asserts 中的表达式?

最佳答案

您可以教 PC-Lint 像处理 assert() 一样处理 static_assert()。只需将以下几行添加到您的代码中:

#ifdef _lint
//lint -function(__assert, static_assert)
void static_assert(bool, const char*);
#endif

关于c++ - 如何在 PC-lint 中禁用对 static_asserts 的评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28746405/

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