当前位置:  开发笔记 > 后端 > 正文

Visual Studio 2005 Standard中的OpenMP

如何解决《VisualStudio2005Standard中的OpenMP》经验,为你挑选了2个好方法。

我用OpenMP和gcc编写并行代码.我现在正在使用Visual C++ 2005,并试图弄清楚如何使用OpenMP.在Properties-> C/C++/Language菜单中有一个编译器选项,但它会抱怨库缺失.是否存在OpenMP的第三方实现,或者我只是错误地配置Visual C++?



1> DHamrick..:

经过一些研究后,我发现OpenMP libs和dll不包含在Visual C++ 2005或Visual C++ Express Edition 2008中.但是通过一些解决方法,您可以使它工作.

首先,您需要从microsoft下载lib文件,该文件可以在 Windows SDK for Windows Server 2008和.NET framework 3.5中找到.下载后,您需要确保将vcomp.lib或vcompd.lib链接到您的程序.

接下来,您需要具有可在Visual C++ Redistributable Packkage中找到的dll .然后确保vcomp90.dll位于路径中的某个位置.

您还需要启用OpenMP编译器选项,该选项可以在Visual C++的Properties-> C/C++/Language菜单中找到.

之后你应该可以使用OpenMP了.



2> Totonga..:

我认为VC开箱即用,但我不确定它们是否提供了所有版本.

如果你jsut附加

/openmp

选项你还必须包括open mp标题

#include 

这很重要,因为此标头会将清单添加到您的应用程序,使其能够从正确的系统路径加载vcomp.dll.因此,通常不再允许在您的可执行文件下复制vcomp.dll或其他系统dll,但是您必须将应用程序的清单设置为从正确的位置加载dll.这不是omp.h头文件自动生成的.

因此,如果您不想自己模拟清单,那么最小代码是:

#include  // has to include this header to build the correct manifest to find vcom.dll or vcompd.dll

int main(int argc, char* argv[])
{
  double sum;
#pragma omp parallel for
  for(int i = 0; i < 10000; ++i) {

  }
    return 0;
}

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有