草庐IT

libc_test

全部标签

c++ - 如何使用 Google Test 捕获段错误?

如何测试函数不会产生段错误?这是我现在知道的,我可以做的:EXPECT_DEATH(foo(nullParameter))在函数旁边,产生了一个段错误,这是我想让它失败的行为。上面的代码片段将使测试通过,因为这是预期的,进程的死亡。现在,我怎样才能让它失败? 最佳答案 这是一个函数,如果传递了一个空指针参数,就会出现段错误,否则不是:intderef(int*pint){return*pint;}这是一个测试该行为的googletest程序:main.cpp#includeintderef(int*pint){return*pint

c++ - OSX 10.8 上 -stdlib=libc++ 的无效部署目标

我正在通过node-gyp编译一个用C++编写的Node.JS包。当我编译它时,我收到以下错误:clang:error:invaliddeploymenttargetfor-stdlib=libc++(requiresOSX10.7orlater)。我在OSX10.8上运行,并且安装了XCode命令行工具。这是node-gyp用来编译包的文件:{"targets":[{"target_name":"package_name",'type':'executable','xcode_settings':{'OTHER_CFLAGS':["-std=c++11","-stdlib=libc+

c++ - 如何检查是否安装了libc++?

我正在从源代码构建一些东西。我系统的gcc和stdlibc++太旧了,但是我可以使用clangbuild。默认情况下,clang使用stdlibc++,但可以选择安装libc++以供clang使用。检查libc++是否使用clang安装的最佳方法是什么? 最佳答案 比@n.n更好的答案:printf"#include\nintmain(){}"|clang-E-stdlib=libc++-xc++-dM-|grep_LIBCPP_VERSION如果打印类似:#define_LIBCPP_VERSION3700,那么你就有了libc+

深入浅出 testing-library

我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:佳岚Themoreyourtestsresemblethewayyoursoftwareisused,themoreconfidencetheycangiveyou.您的测试越接近软件的使用方式,它们就越能给您带来信心。什么是testing-library?在了解testing-library前,我们可以看看使用原生方法是如何进行React组件测试的。importHeaderfrom".."importclientfrom'react-dom/client'i

c++ - lnk1104 : cannot open 'LIBC.lib' LINK

在使用GLee为我的OpenGL项目编写着色器并编译后,我收到错误LNK1104:无法打开文件“LIBC.lib”。我试过按照其他人的建议添加并忽略它,但并没有解决任何问题。有没有其他方法可以解决我错过的这个问题? 最佳答案 这里有几种可能的解决方案:这可能是由于代码生成冲突。如果您的libc.lib的线程支持与您项目的设置不同,这可能会导致问题。如果是这样,右键单击project,然后转到properties->C++->codegeneration->RuntimeLibrary并将值更改为Multi-threaded(MT).

c++ - Mac OS X Mavericks 上的 libc++ header 在哪里?

我想看一下标题并想知道它们在哪里。 最佳答案 安装Xcode后,它位于此处:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1MacOSX10.9+不再使用GCC/libstdc++,而是使用libc++和Clang。更新:在XCode6.0.1更新之后,header现在位于此处:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeD

【记录】记一次关于前端单元测试的全英文问卷调查( Survey: Automatically Generated Test Suites for JavaScript)

文章目录OPENINGSTATEMENTBackgroundTaskbackground:FixthefailingtestcasesBeforethetask:Task:FixthefailingtestcasesTask:ExecutableDocumentationBeforethetask:BonusOpportunity:OnemoretaskTask:TestCasesClusteringRewardThankYou!原地址:Survey:AutomaticallyGeneratedTestSuitesforJavaScriptOPENINGSTATEMENTYouarebeing

c++ - 如何使用 GNU Make 项目设置 Google Test?

由于Google测试网页上基本上没有任何文档,我该怎么做呢?到目前为止我所做的:我从项目页面下载了googletest1.6并在其中执行了./configure&&make我将-Igtest/include-Lgtest/lib添加到我的编译器/链接器标志我写了一个小样本测试:#include"gtest/gtest.h"intmain(intargc,char**args){return0;}TEST(someTest,testOne){ASSERT_EQ(5,5);}这编译得很好,但链接器似乎一点也不开心。我收到一大堆错误消息,格式如下test/main.o:Infunctions

c++ - 为什么 C++ 编译器无法将 "if(test) --foo"优化为 "foo -= test"?

我有一个函数可以找到给定整数的下一个2的幂。如果整数是2的幂,则返回幂。非常简单:charnextpow2if(inta){charfoo=char(32-__builtin_clz(a));boolispow2=!(a&a-1);if(ispow2)--foo;returnfoo;}然而,在使用带有-O2的gcc6进行编译之后,在检查生成的程序集之后,我发现这是在计算foo-1之后用看似无用的指令cmovne编译的。更糟糕的是,对于gcc5和更早的版本,我在代码中得到了一个实际的jne分支。编译它的更快方法就像我编写了以下函数:charnextpow2sub(inta){charfo

c++ - libc++:为什么关闭后流仍然很好

我有一个非常简单的程序#include#includevoidCHECK(std::iostream&s){std::cout使用libc++我得到以下最后一行:good():1fail():0bad():0eof():0预期(或使用libstdc++):good():0fail():1bad():1eof():0我已经在OSX和Xcode9.4.1(或Linux)上进行了测试,但总是一样。谁能给我解释一下这里的情况?文件内容也没有更新,因为已经关闭。为什么关闭再运行后流仍然良好? 最佳答案 我怀疑正在发生的事情是操作将数据填充到与