如何以可导出的方式命名线程 我在C++中开发了一个多线程库,然后编译成一个DLL。

如何以可导出的方式命名线程 我在C++中开发了一个多线程库,然后编译成一个DLL。,c++,multithreading,dll,C++,Multithreading,Dll,为了方便起见,我使用msdn网站提供的以下方法命名我的工作线程: 虽然我没有弄清楚它是如何工作的,但只要我把DLL加载到C++项目中,它就可以像一个符咒一样工作。 现在,如果我想在C#项目中使用它,VisualC将在示例的下面一行中断: RaiseException( MS_VC_EXCEPTION, 0, sizeof(info)/sizeof(ULONG_PTR), (ULONG_PTR*)&info ); 谨此致辞: An unhandled exception of type

为了方便起见,我使用msdn网站提供的以下方法命名我的工作线程: 虽然我没有弄清楚它是如何工作的,但只要我把DLL加载到C++项目中,它就可以像一个符咒一样工作。 现在,如果我想在C#项目中使用它,VisualC将在示例的下面一行中断:

RaiseException( MS_VC_EXCEPTION, 0, sizeof(info)/sizeof(ULONG_PTR), (ULONG_PTR*)&info );
谨此致辞:

An unhandled exception of type 'System.Runtime.InteropServices.SEHException' occurred in myLibrary.dll
Additional information: External component has thrown an exception.
我在
Debug
exception
中取消了对各种异常的检查,但VC仍然在这一行中断,然后退出我的应用程序

有没有一种命名线程的方法是“跨语言安全的”


谢谢

我的问题在这里有很好的答案,但几天后就消失了

答案是:没有办法命名线程。引发此异常是一种黑客行为,允许VisualStudio在其调试器中为其命名。由于这是一个Visual Studio技巧,因此此方法不可导出。

的可能重复项