zoukankan      html  css  js  c++  java
  • OpenMP vs WinSxS

    VS2005

    今天把一个工程设置为支持OpenMP, 在代码中使用几个 #pragma omp parallel for 编译后, 程序启动时提示找不到 vcmp.dll.

    由于项目中别的工程之前我也用了OpenMP, 并没有出现这个错误, 经过比对发现是忘记 #include <omp.h>

    仔细看看 omp.h, 就不难理解为什么需要包含这个头文件了.

    为了解决著名的dll hell, 微软在现在的windows系统中引入了WinSxS, 将不同版本的系统共享 dll 分门别类的放在描述性的文件夹下, 文件夹的命名规则是已经严格定义的. 应用程序自身需要包含清单文件 manifest, 来说明自己需要动态链接哪一个版本的什么dll.

    omp.h 的作用之一就是生成 vc openmp 的 manifest, 来通知系统 loader 加载 WinSxS 下哪一个 vcmp.dll, 如果没有 manifest, 系统不知如何加载, 自然会提示找不到.

  • 相关阅读:
    计算机系统概述
    Qt学习--初学注意事项
    Qt实现一个简单的TextEditor
    Qt 用户登录界面
    C++ 模板
    多态与虚函数
    继承与派生
    C++ 运算符重载
    web安全-点击劫持
    web安全问题-cookie
  • 原文地址:https://www.cnblogs.com/skogkatt/p/4163344.html
Copyright © 2011-2022 走看看