首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译的C语言程序会使用多核cpu吗?

问编译的C语言程序会使用多核cpu吗?
EN

Stack Overflow用户
提问于 2011-10-12 21:15:50
回答 3查看 5K关注 0票数 1

平台: Windows XP处理器:双核

我有一个用C语言编写的程序,它被编译并形成了可执行文件。我的问题是,程序会使用两个核心(因为我的机器是双核的),还是我必须让我的程序多线程才能做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-12 21:17:07

当你想使用多核时,你必须实现一个多线程程序。

有很多线程库。我建议您研究一下OpenMP website,它非常容易集成和用于并行化。

EDIT:一个简单的例子:

通常,您只需添加以下内容即可并行化for循环:

代码语言:javascript
复制
#pragma omp parallel
for(...)

当然,您必须链接到OpenMP并使用OpenMP支持进行编译。

票数 5
EN

Stack Overflow用户

发布于 2011-10-12 21:17:43

简而言之:你必须让你的程序是多线程的,这样才能利用两个内核。

票数 2
EN

Stack Overflow用户

发布于 2011-10-12 21:20:13

一个处理器一次只能执行一个程序。所以要使用双核,你需要同时创建一个线程和一个可执行线程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7740657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档