草庐IT

pthread_test

全部标签

c++ - 如何使用 Eclipse 处理 Boost.Test 输出

我正在使用EclipseCDT和Boost.Test(带有Boost.Build)。我希望Eclipse解析在构建期间运行测试套件期间生成的Boost.Test的输出。有谁知道如何实现这一目标?提前致谢 最佳答案 转到“窗口”>“首选项”。在首选项对话框中,从选项树中选择C/C++>Build。在错误解析器下,单击“添加...”。在新对话框中,将“RegexErrorParser”替换为“BoostUnitTestErrorParser”之类的内容。在“错误分析器选项”Pane中,添加以下行。我不能保证这些规则捕获来自提升单元测试的

c++ - C++11中通过pthreads获取线程Core affinity

我正在尝试在C++11中使用std::thread时设置核心关联(线程#1在第一个核心上运行,线程#2在第二个核心上运行,...)。我已经在各种主题和互联网上进行了搜索,似乎C++11API不提供这种低级功能。另一方面,pthreads带有pthread_setaffinity_np如果我能得到我的std::thread的“pthread_t”值,这将很有用(我不知道这是人类合理的还是至少是合理的要求)。我最终想要的示例程序是这样的:#include#include#include#include#include#defineCORE_NO8usingnamespacestd;void

unit-testing - Jacoco 如何获得测试覆盖率或忽略 Kotlin 数据类

Jacoco显示Kotlin数据类的覆盖率为0%。如何配置它来测量覆盖率或完全忽略数据类? 最佳答案 我正在寻找针对数据模型类的自动生成代码的相同测试覆盖率问题的解决方案,但偶然发现了以下问题:Kotlin+JaCoCo:TuningCompilertoSkipGeneratedCode解决方案:将JaCoCo插件更新到0.8.2即可解决您的问题。JaCoCo在0.8.2版本中已经解决了这个问题,请阅读更新日志-使用运行时可见和不可见注释注释的类和方法,其简单名称为Generated在生成报告期间被过滤掉(GitHub#731)。K

unit-testing - Jacoco 如何获得测试覆盖率或忽略 Kotlin 数据类

Jacoco显示Kotlin数据类的覆盖率为0%。如何配置它来测量覆盖率或完全忽略数据类? 最佳答案 我正在寻找针对数据模型类的自动生成代码的相同测试覆盖率问题的解决方案,但偶然发现了以下问题:Kotlin+JaCoCo:TuningCompilertoSkipGeneratedCode解决方案:将JaCoCo插件更新到0.8.2即可解决您的问题。JaCoCo在0.8.2版本中已经解决了这个问题,请阅读更新日志-使用运行时可见和不可见注释注释的类和方法,其简单名称为Generated在生成报告期间被过滤掉(GitHub#731)。K

c++ - 为什么 valgrind 没有在我的 "test"程序中检测到内存泄漏?

整个测试代码包含在main.cpp中如下:#includeusingstd::cout;usingstd::endl;voidf(inti){int*pi=newint;*pi=i;std::cout我编译时没有优化-O0(来自EclipseQt项目):g++-c-pipe-O0-Wall-W-D_REENTRANT-DQT_NO_DEBUG-DQT_GUI_LIB-DQT_CORE_LIB-DQT_SHARED-I/usr/share/qt4/mkspecs/linux-g++-I.-I/usr/include/qt4/QtCore-I/usr/include/qt4/QtGui-I

c++ - C、C++、C++0x、pthread 和 boost 中的线程

一个关于C/C++中线程的问题...C++0x语法#includevoiddummy(){}intmain(int,char*[]){std::threadx(dummy);std::thready(dummy);...return0;}有多少线程?两个(x和y)还是三个(x、y和主要)?我可以在main中调用this_thread::yield()吗?在main中调用this_thread::get_id()会得到什么?线程语法#includevoiddummy(){}intmain(int,char*[]){pthread_tx,y;pthread_create(&x,NULL,&

c++ - boost 测试不 init_unit_test_suite

我运行这段代码#defineBOOST_TEST_MAIN#defineBOOST_TEST_DYN_LINK#include#include#include#includeusingnamespaceboost::unit_test;usingnamespacestd;voidTestFoo(){BOOST_CHECK(0==0);}test_suite*init_unit_test_suite(intargc,char*argv[]){std::coutadd(BOOST_TEST_CASE(&TestFoo));returnmaster_test_suite;}但是在运行时它说T

c++ - "The C++ compiler "/usr/bin/c++ "is not able to compile a simple test program."尝试安装 OpenCV 时

我正尝试按照此link在我的Mac上安装OpenCV但是,当我在终端上键入cmake-G"UnixMakefiles"..时,会打印出此错误。--TheCXXcompileridentificationisunknown--TheCcompileridentificationisunknown--CheckforworkingCXXcompiler:/usr/bin/c++--CheckforworkingCXXcompiler:/usr/bin/c++--brokenCMakeErrorat/opt/local/share/cmake-3.0/Modules/CMakeTestCXX

c++ - 同时等待条件 (pthread_cond_wait) 和套接字更改 (select)

我正在用c/c++编写一个POSIX兼容的多线程服务器,它必须能够异步接受、读取和写入大量连接。服务器有几个工作线程,它们执行任务并偶尔(并且不可预测地)排队将数据写入套接字。客户端偶尔也会(并且不可预测地)将数据写入套接字,因此服务器也必须异步读取。一种明显的方法是为每个连接提供一个线程,该线程从其套接字读取和写入;不过,这很丑陋,因为每个连接都可能持续很长时间,因此服务器可能不得不持有成百上千个线程来跟踪连接。更好的方法是让一个线程使用select()/pselect()函数处理所有通信。即,单个线程等待任何套接字可读,然后生成一个作业来处理输入,只要输入可用,该作业将由其他线程池

c++ - pthreads:快速重新锁定引起的线程饥饿

我有两个线程,一个在紧密循环中工作,另一个偶尔需要与第一个执行同步://thread1while(1){lock(work);//performworkunlock(work);}//thread2while(1){//unrelatedworkthattakesawhilelock(work);//synchronizingstepunlock(work);}我的意图是线程2可以通过获取锁有效地暂停线程1并执行必要的同步。线程1也可以通过解锁提供暂停,如果线程2没有等待锁定,则重新锁定并返回工作。我遇到的问题是互斥锁不公平,所以线程1很快重新锁定了互斥锁并使线程2饿死。我尝试使用pt