草庐IT

gtk_init_check

全部标签

c++ - 使用带有 `make check` 的 Boost 单元测试框架 (UTF)

我的C++应用程序有各种基于shell的独立程序集成测试以及应用程序API的源代码单元测试。测试通过makecheck目标运行,该目标通过Autotools(autoconf、automake)生成,comewithatest-driverandalogparser.我已经开始采用Boost单元测试框架来更好地管理单元测试套件。有没有办法在makecheck目标下同时运行验收测试和单元测试(使用BoostUTF和标准TAP测试)?我的Makefile.am看起来像这样:check_PROGRAMS=test1test2SOURCES=test1.cpptest2.cppCC=g++TE

c++ - 使用 C++11 智能指针时,你能忘记 Checked-Delete 吗?

我读过unique_ptrwithincompletetypes关于CheckedDelete.但是,在使用智能指针或至少是C++11智能指针的一个子集时,checked-delete是否过时了?采用以下代码:classA;classB{public:std::auto_ptrautoPtr;std::unique_ptruniquePtr;std::shared_ptrsharedPtr;A*rawPtr;B();~B(){deleterawPtr;}};classA{public:~A(){std::cout(newA());uniquePtr=std::unique_ptr(ne

c++ - Microsoft 的 GCC 选项 init_priority 是什么?

在编译和链接C++库或程序时,无法保证翻译单元之间静态C++对象的初始化顺序。GCCoffersinit_priority解决静态存档、共享对象和程序的问题:init_priority(priority)    InStandardC++,objectsdefinedatnamespacescopeareguaranteedto    beinitializedinanorderinstrictaccordancewiththatoftheir    definitionsinagiventranslationunit.Noguaranteeismadefor    initializ

c++ - 在 init 方法中绕过 const

所以我can'tuseinitializersinmyclassconstructor因为使用数组,所以我决定改用init()方法。现在我有一个不同的问题。我有这样一个类:classEPWM{private:volatileEPWM_REGS*constregs;public:voidinit(volatileEPWM_REGS*_regs);};我需要通过初始化regs=_regs;来实现init()但我不能因为const。有没有办法在我的init方法中强制分配?我想保留const关键字,这样我就不会不小心重新分配到别处。编辑:尽管我很想使用构造函数+初始值设定项来解决这个问题(我的

c++ - 如何将 STL 容器作为参数传递给 BOOST_CHECK_EQUAL?

例如,假设我们有一个要测试的类:structTestMe{vectorgetSomething();}测试函数由:...vectorExpected;TestMeTM;...Result=TM.getSomething();BOOST_CHECK_EQUAL(Result,Expected);...STLvector提供了一个免费的运算符==,但它没有提供运算符 最佳答案 我认为您应该使用BOOST_CHECK_EQUAL_COLLECTIONS,这会测试每个元素并打印不匹配的位置:BOOST_CHECK_EQUAL_COLLECT

c++ - Braced-init-lists 和函数模板类型推导顺序

我有一个关于函数模板参数类型推导过程的问题。举个例子:#include#include#include#include#includeintmain(){std::ifstreamfile("path/to/file");std::vectorvec(std::istream_iterator{file},{});//如果我理解正确,第二个参数被推断为std::istream_iterator类型其中调用了默认构造函数。适当std::vector构造函数声明为:templatevector(InputIteratorfirst,InputIteratorlast,constalloca

C++14 元编程 : Automagically build a list of types at compile/init time

使用C++14和CuriouslyRecurringTemplatePattern(CRTP)以及可能的Boost.Hana的某种组合(或boost::mpl如果您愿意),我可以在编译时(或静态初始化时)构建一个类型列表而无需显式声明吗?例如,我有这样的东西(在Coliru上查看):#include#include#includenamespace{structD1{staticconstexprautoval=10;};structD2{staticconstexprautoval=20;};structD3{staticconstexprautoval=30;};}intmain(

c++ - `if constexpr`可以用来声明不同类型和init-expr的变量吗

例如:voidfoo(){ifconstexpr(...)intx=5;elsedoublex=10.0;bar(x);//callsdifferentoverloadsofbarwithdifferentvalues}这在D语言中很常见,但我没有找到有关C++17的信息。当然也可以用类似的东西std::conditional::typex;但仅限于基本情况。即使是不同的初始化程序(如上)也会造成大问题。 最佳答案 此代码无法运行。问题是当您调用bar时x超出范围。但有一个解决方法:constexprautot=[]()->auto

一款超酷的一体化网站测试工具:Web-Check

Web-Check是一款功能强大的一体化工具,用于发现网站/主机的相关信息。用于检查网页的工具,用于确保网页的正确性和可访问性。它可以帮助开发人员和网站管理员检测网页中的错误和问题,并提供修复建议。它只需要输入一个网站就可以查看一个网站几乎所有信息,如IP信息、SSL、DNS记录、Cookies、域名信息、搜索爬行规则、服务器位置、重定向记录、开放端口、路由跟踪、DNS安全扩展、网站性能、关联主机名等。Web-Check的主要用途包括:网页错误检测:Web-Check可以检测网页中的HTML、CSS和JavaScript错误,包括语法错误、标签未关闭、属性错误等,以确保网页的正确性。可访问性检

c++ - 拼图 : To escape the check of typeid

我偶然形成了一个很好的面试问题。:)templateboolfoo(Tobj){if(typeid(T)==typeid(obj))returnfalse;returntrue;//您必须以返回true的方式调用(仅在上面提到的)foo()。条件是,无法编辑或重载foo()或typeid不允许针对特定平台进行黑客攻击不允许#define 最佳答案 #includestructB{virtual~B(){}};intmain(){struct:B{}x;assert(foo(x));}行动是overthere.