相关疑难解决方法(0)

以编程方式查找计算机上的核心数

有没有办法以独立于平台的方式确定机器有多少来自C/C++的内核?如果不存在这样的事情,那么每个平台确定它(Windows/*nix/Mac)呢?

c c++

450
推荐指数
12
解决办法
19万
查看次数

处理std :: thread :: hardware_concurrency()

在我的问题有关std::thread,我建议使用std::thread::hardware_concurrency().我读到了某个地方(我找不到它,看起来像是一个本地的代码存储库),这个功能没有在4.8之前的g ++版本中实现.

事实上,我和这个用户处于同一个受害者的位置.该函数将返回0.我在答案中找到了一个用户实现.欢迎评论这个答案是否合适!

所以我想在我的代码中执行此操作:

unsinged int cores_n;
#if g++ version < 4.8
 cores_n = my_hardware_concurrency();
#else
 cores_n = std::thread::hardware_concurrency();
#endif
Run Code Online (Sandbox Code Playgroud)

但是,我可以找到实现这一结果的方法.我该怎么办?

c++ multithreading g++ version c++11

2
推荐指数
1
解决办法
6504
查看次数

标签 统计

c++ ×2

c ×1

c++11 ×1

g++ ×1

multithreading ×1

version ×1