草庐IT

抑制剂

全部标签

c++ - 使用 Valgrind 抑制 Qt 内存泄漏的文件

我通常用C++编写我的类,并在Linux平台上使用valgrind检查它们是否泄漏内存。在释放所有堆内存之前,我不满意。开始用Qt编写,我发现valgrind检测到多少泄漏,也是在一个简单的项目上。它们太多了,以至于我很难检测到相同的泄漏。我在某处读到可以使用valgrind的抑制文件,这有助于过滤掉不需要的泄漏,但我找不到它。我使用的是Ubuntu11.04x64、g++4.5、Qt4.7。有人知道如何解决这个问题吗? 最佳答案 你看过this"ValgrindSuppressionFileHowto"wiki了吗??仅作记录,Q

c++ - 使用 CMake 抑制链接警告

我知道如何使用CMake来抑制编译警告(假设我想禁用编译警告C4819):set_target_properties(${PROJECT_NAME}PROPERTIESCOMPILE_FLAGS"/wd4819")那么如何使用CMake抑制链接警告(例如LNK4099)? 最佳答案 试试这个:set_target_properties(${PROJECT_NAME}PROPERTIESLINK_FLAGS"/ignore:4099")它非常适合我使用VisualStudio2015。 关

c++ - 当进程崩溃时,我如何抑制所有错误对话框(我只希望它静默崩溃)

我有一个进程,我从CreateProcess开始,然后等待它完成并检查它的退出代码。我以批处理模式执行此操作,并且我不希望在进程崩溃时显示任何消息框。仅返回一个指示失败的非零退出代码就足够了。到目前为止,我已经尝试使用LONGWINAPIMyUnhandledExceptionFilter(_EXCEPTION_POINTERS*lpTopLevelExceptionFilter){ExitProcess(-1);returnEXCEPTION_EXECUTE_HANDLER;}BOOLCMyApp::InitInstance(){AfxEnableControlContainer()

c++ - 使用/RTC1 编译时有时会抑制警告 C4701

这段代码(注意注释行):#include#pragmawarning(error:4701)intmain(){charbuffer[1024];//buffer[0]=0;void*p;intsize=1;if(size给出以下警告(如预期的那样):f:\d\warning.cpp(13):errorC4701:potentiallyuninitializedlocalvariable'p'used但是,当我取消注释main()中的赋值时,不再给出警告。我正在使用/RTC1命令行选项进行编译以启用run-timeerrorchecks:cl.exe/RTC1warning.cpp我尝

c++ - 如何使用 G++ 抑制纯虚拟类的 C++ vtable 生成?

可以在MSVC中使用__declspec(novtable)属性来抑制C++vtable生成。但是,似乎thereisnoequivalentattribute用于GNUC++编译器。事实上,为纯虚拟类保留vtables会不必要地链接__cxa_abort()和许多其他链接,我想避免这种情况发生,因为我正在为嵌入式系统编程。那么,我该怎么办?structISomeInterface{virtualvoidFunc()=0;};classCSomeClass:publicISomeInterface{virtualvoidFunc();}voidCSomeClass::Func(){//

c++ - 无法抑制 Mac OS X 上的特定 clang 警告

我已经设置了-Wno-unused-parameter(和其他一些)编译器标志,它确实被传递给了编译器,但我仍然收到这个警告:clang++-c-pipe-Wno-self-assign-Wno-unused-parameter-Wno-unused-variable-g-gdwarf-2-archx86_64-fPIC-Wall-WF/Library/Frameworks-o../build/cobject.osrc/cobject.cpp^src/cobject.cpp:102:68:warning:unusedparameter'client'[-Wunused-paramete

c++ - 结构化绑定(bind)和基于范围的;在 gcc 中抑制未使用的警告

我想使用结构绑定(bind)遍历一个映射,忽略键:for(auto&[unused,val]:my_map)do_something(val);我用gcc-7.2.0尝试了不同的选项://Thewarningisissuedfor([[maybe_unused]]auto&[unused,val]:my_map)do_something(val);//Syntaxerrorfor(auto&[[[maybe_unused]]unused,val]:my_map)do_something(val);//Thesametwocombinationsabovewith[[gnu::unuse

c++ - 如何抑制 OpenCV 错误信息

我正在使用g++和opencv2.4.6编写一个OpenCV项目我有这样的代码:try{H=findHomography(obj,scene,CV_RANSAC);}catch(Exception&e){if(showOutput)cout=10){errorCount=0;selected_temp=-99;foundBB=false;bb_x1=0;bb_x2=0;bb_y1=0;bb_y2=0;}return-1;}当findHomography找不到东西时会抛出错误。错误信息包括:OpenCVError:Assertionfailed(npoints>=0&&points2.c

c++ - #pragma warning 不抑制警告

我的一个.cpp文件由于第3方header生成警告C4275#include...(由于DLL导出类继承自非据我所知,DLL导出类)。我添加了一行:#pragmawarning(disable:4275)作为我的.cpp文件的第一行,但警告仍在生成。这是在VC++2008上,没有使用PCH。为什么我的#pragma不起作用,并且(除了更改第3方代码之外)我该如何解决这个问题? 最佳答案 生成一个预处理文件,您可能会发现其他一些头文件重新启用警告。 关于c++-#pragmawarning

c++ - 抑制 "Base class ‘class X’ 应该在复制构造函数中显式初始化”来自模板类的库头

我遇到了类似于thisone的问题.我正在使用第三方库。它在文件headers/things.h中如下定义类(由于许可问题伪造了所有名称):classA{public:virtual~A(){}};templateclassB:virtualpublicA{public:B(T){}B(constB){}virtual~B(){}};templateclassC:virtualpublicB{public:C(Tt):B(t){}C(constC&other):B(other){}~C(){}};此外,仍在库标题中:typedefCCC;错误信息是:cc1plus:warningsbe