c#/wpf OpenMP 在外部 dll 中

Posted

技术标签:

【中文标题】c#/wpf OpenMP 在外部 dll 中【英文标题】:c#/wpf OpenMP inside external dll 【发布时间】:2011-05-11 06:56:37 【问题描述】:

我有一些 c++ 库、托管 c++ 中的“胶水”库和导入“胶水”库的 C#/WPF 应用程序。 一切正常,直到我添加一些

#pragma omp parallel for

当我编译我的 c++ lib/glue lib 和 c#/wpf 应用程序时,一切都很好 - 没有警告/错误。 但是当我尝试启动 c# 应用程序时它崩溃了——但是在执行一些并行代码时它不会崩溃——它在加载应用程序时崩溃——它说:

在 PresentationFramework.dll 中发生了“System.Windows.Markup.XamlParseException”类型的第一次机会异常

附加信息:Nie można utworzyć wystąpienia „Window1” zdefiniowanego w zestawie „fastnn-speedTest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”。 Obiekt docelowy wywołania zgłosił wyjątek。 Błąd w pliku znaczników „fastnn-speedTest;component/Window1.xaml”。

我知道它是波兰语,但显然 c# 应用程序无法加载使用 OpenMP 代码的 dll - 我怎样才能让它工作?

当然,在我的 c++ 项目中,我打开了“启用 OpenMP”

【问题讨论】:

【参考方案1】:

.NET 不关心你的 DLL 做什么——使用 OpenMP 的应该没有什么不同。您的路径中是否有所需的 vcomp*.dll(VS2010 为 vcomp100.dll)?

它正在抛出一个XamlParseException,你是否 100% 确定不是你的 XAML 坏了?

【讨论】:

以上是关于c#/wpf OpenMP 在外部 dll 中的主要内容,如果未能解决你的问题,请参考以下文章

创建在外部进程中运行的 WPF“控件”

csharp C#示例在外部文本编辑器应用程序(在本例中为记事本)中打开文本文件。

从按钮单击事件直接调用存储在外部 JS 文件中的 JavaScript 函数

latex中\nomenclature怎么在外部加框

如何在外部服务器上安装和使用嵌入式 C 的编译器?

在 C#(WPF) 中使用 C++ dll