【发布时间】:2020-09-01 12:10:53
【问题描述】:
一直在尝试清理项目中的警告。我一直在禁用某些第 3 方包含文件的警告,并且我认为如果我将“错误列表”中的过滤器设置为“仅构建”,我没有收到任何警告,但我仍然看到如果我将过滤器设置为“仅限 IntelliSense”或“Build + Intellisense”,则会出现近 200 个警告。
我不太明白有什么区别,或者如何禁用构建和智能感知的某些警告。例如,我收到警告 C6263: Using _alloca in a loop: this can quick overflow the stack." 在我们使用 T2W 或 A2W 宏的任何地方,即使在我很确定我已禁用的文件中在我们的 stdafx.h 文件中使用这个警告:
#pragma warning(push)
#pragma warning(disable: 6263)
#include <atldlgs.h>
#pragma warning(pop)
我不确定为什么警告是 IntelliSense 警告而不是构建警告(即,我在构建输出中没有看到任何反映我在错误列表窗口中看到的警告的内容),而且我是不确定如何通过编译指示禁用 IntelliSense 警告。
请注意,我并不是要禁用代码分析或 IntelliSense。我正在尝试禁用构建时“错误列表”窗口中显示的一些警告,这些警告似乎来自 IntelliSense。
【问题讨论】:
-
Intellisense 是一个独立的编译器,可在 IDE 中用于曲线和代码分析。它的目标是提出一个快速但有时是错误的建议。
-
两者都不是,是代码分析警告。从问题中您如何到达那里并不是很明显,也许是this。
标签: c++ visual-studio