草庐IT

hdr-Description_of_testing_flags

全部标签

c++ - VS2013 : How to disable warnings for included header files outside of the project

在我的项目中,我包含了一个由外部库提供的头文件。使用/W3,所有内容都可以在没有警告的情况下编译。但是,我希望我的项目能够使用/W4进行干净地编译。这对我的代码来说没有问题,但外部header会发出大量警告。我知道我可以做这样的事情:#pragmawarning(push)#pragmawarning(disable:####)//includehere#pragmawarning(pop)但是有一长串要禁用的警告。有没有一种方法可以在包含此header时将警告级别设置回/W3,同时仍使用/W4编译我的其余代码?谢谢! 最佳答案 #

c++ - 铛 libTooling : How to find which header an AST item came out of?

在网上找到的clang工具示例总是在玩具示例上运行,这些示例通常都是非常简单的C程序。我正在构建一个对C++代码执行源到源转换的工具,这显然是一项非常非常具有挑战性的任务,但clang可以胜任这项任务。我现在面临的问题是,clang为任何使用STL的C++代码生成的AST非常庞大。例如,我有一些C++代码,clang++-ast-dump...|wc-l是67,018行可怕的AST官话!其中99%是标准库的东西,我打算在我的源到源元编程任务中忽略它们。所以,为了实现这一点,我想简单地过滤掉文件。假设我只想查看正在分析的项目header中的类定义(并忽略所有标准库header的内容),我

c++ - CMake "clang++ is not able compile a simple test program"(软呢帽 20)

所以我尝试安装clang+cmake来编译一个简单的C++程序,但出现以下错误:--TheCcompileridentificationisGNU4.8.3--TheCXXcompileridentificationisClang3.5.0--CheckforworkingCcompiler:/usr/bin/cc--CheckforworkingCcompiler:/usr/bin/cc--works--DetectingCcompilerABIinfo--DetectingCcompilerABIinfo-done--CheckforworkingCXXcompiler:/usr/

2024年美赛ICM E题 Sustainability of Property Insurance

极端天气事件正成为财产所有者和保险公司面临的危机。“近年来,世界已经遭受了1000多起极端天气事件造成的超过1万亿美元的损失”。[1]2022年,保险业的自然灾害索赔人数“比30年的平均水平增加了115%”。[1]由于洪水、飓风、飓风、干旱和野火,严重天气相关事件造成的损失可能会增加,因此预计情况将变得更糟。保险覆盖范围的保费正在迅速上升,气候变化推动了预计到2040年将增长30-60%。随着保险公司改变他们愿意承保保险的方式和地点,财产保险不仅变得越来越昂贵,而且也更难找到。与天气有关的推动财产保险费用的事件因你在世界上的不同。此外,全球的保险保护差距平均为57%,而且还在增加。[2]这凸显

c++ - 使用省略号的回退函数 : can we force the size of the parameters pack?

考虑以下代码:#include#includestructS{templateautof(A&&...args)->decltype(std::declval().f(std::forward(args)...),void()){std::coutvoidf(...){std::cout(42);//->hasf(int)s.f(42);//->hasnotf(int)//oopss.f();//->hasnotf(int)}如示例所示,对f的第三次调用工作正常,即使参数数量错误,因为对于回退函数来说它根本没有错.当以这种方式涉及省略号时,有没有办法强制参数的数量?我的意思是,我可以在

c++ - 隐式转换产生 "error: taking address of temporary"(GCC vs clang)

在试验强类型整数时,我遇到了一个来自GCC8.2的奇怪错误:error:takingaddressoftemporary我可以想象上述错误有意义的典型场景,但在我的情况下我没有遇到问题。重现错误的缩小(人为)示例如下:#include#includeenumclassEnum:std::size_t{};structPod{std::size_tval;constexproperatorEnum()const{returnstatic_cast(val);}};templateconstexprvoidfoo(){usingFoo=std::integral_constant;//[G

c++ - C 和 C++ header : Define global struct inside of another struct

我有一些C代码,其中有一些结构如下所示:typedefstructmy_library_a_tmy_library_a_t;typedefstructmy_library_b_tmy_library_b_t;typedefstructmy_library_c_tmy_library_c_t;structmy_library_a_t{structmy_library_b_t{intdata;structmy_library_c_t{intdata;}c;}b;intdata;};这在C++中不起作用,因为在C中structmy_library_b_t定义了一个全局structmy_lib

c++ - Boost Test 寄存器异常翻译器

有人知道在Boost.Test中使用自动测试用例时如何注册我的自定义异常转换器吗?我找到了一些示例(实际上很少),但它们没有显示如何将此功能与自动测试用例一起使用,这在我看来是boost.test的最大优势。我的示例测试套件:#defineBOOST_TEST_MODULEStateMachineTest#defineBOOST_TEST_DYN_LINK#includeBOOST_AUTO_TEST_SUITE(FirstTest);BOOST_AUTO_TEST_CASE(testBasic){BOOST_CHECK(true);}BOOST_AUTO_TEST_SUITE_END

c++ - 在 boost::test::unit_test 中查找内存泄漏

这个问题是continuationtoapreviousquestion在boost::test::unit_test上。我已经编写了单元测试并构建了单元测试。这是构建输出:2>------Buildstarted:Project:UnitTests,Configuration:DebugWin32------2>stdafx.cpp2>UnitTests.cpp2>UnitTests.vcxproj->F:\Src\Crash\trunk\Debug\UnitTests.exe2>2>Running3testcases...2>Testsuite"MasterTestSuite"pa

c++ - QDebug类结构: determine end of input via `operator<<`

Qt有一个很好的调试功能,就是这样叫的qDebug()它生成一行包含一些对象的“标准字符串”,并且——这是重要的部分——打印\n并在second_object之后冲洗Steam.我想通过我的所有类都有一个std::stringto_string()的约定来重现该行为我调用的方法:structmyDebug{templatemyDebug&operator我现在的问题是:在返回*this之后有没有办法找出它?第二次不再调用返回的对象?这样我就可以打印std::endl?qDebug()似乎可以做到这一点。 最佳答案 找到解决方案,发现