C++ 英特尔tbb编译与测试

C++ 英特尔tbb编译与测试,c++,tbb,C++,Tbb,我正在编译英特尔tbb社区版tbb2017_20161128oss。在编译时,它很少运行测试用例。在一个测试用例中,它给了我警告 ./test\u global\u control.exe TBB警告:工作人员的数量当前限制为0。1个工作人员的请求被忽略。在限制更改之前,对更多工作人员的进一步请求将被默默忽略 此警告对我的平台意味着什么?我是否应该避免使用ITBB的某些组件?通常对于TBB测试,您可以忽略从TBB warning开始的运行时警告。通常,这些警告是为了告诉程序员,他们可能以次优或错

我正在编译英特尔tbb社区版tbb2017_20161128oss。在编译时,它很少运行测试用例。在一个测试用例中,它给了我警告 ./test\u global\u control.exe TBB警告:工作人员的数量当前限制为0。1个工作人员的请求被忽略。在限制更改之前,对更多工作人员的进一步请求将被默默忽略

此警告对我的平台意味着什么?我是否应该避免使用ITBB的某些组件?

通常对于TBB测试,您可以忽略从TBB warning开始的运行时警告。通常,这些警告是为了告诉程序员,他们可能以次优或错误的方式使用TBB。然而,在测试中,库的使用方式非常复杂,因此有时会发出警告

这个特别的警告告诉我们,一个程序首先限制了允许使用的工作线程的数量,然后试图请求超出限制的工作线程。对于测试,重要的是检查在这种情况下的行为是否正确;但这一警告超出了它的控制范围


在实际应用中,这些警告有助于诊断意外情况,因此不应忽略。

如果您询问某个特定于平台的问题,它有助于告诉您所谈论的平台。它可以从您正在使用的命令中推断出来,因为它以.exe结尾,但随后您使用.。这在具有.exe结尾的程序的平台中是不常见的。感谢您的回复,我正在Linux bash shell上运行。但我关心的是,为什么工人数量限制为零。如果我没有弄错的话,决定工人数量的参数之一是系统拥有的硬件线程数。我在有4个线程的机器上编译ITBB,但它显示的工作人员数量为零。因此,我的查询在编译过程中丢失了一些内容,或者只是在测试时,由于其他应用程序正在运行,ITBB库无法获取资源。有TBB类用于显式控制正在使用的工作进程的数量,特别是TBB::global_控件类。为了进行测试,测试使用它来防止使用工作线程。所以,别担心。非常感谢。欢迎光临。在StackOverflow上,建议投票选出有用的答案,并接受您认为最能解决问题的答案;请参阅此处的更多信息: