【发布时间】:2010-02-11 05:43:31
【问题描述】:
你好最优秀的 Stackoverflowians
使用visual studio 2008 Team System,
我有一个具有简单功能的 c++ dll(mfc 静态链接的常规 dll)
extern "C" __declspec(dllexport) int MyExportedFunction( )
{
AFX_MANAGE_STATE(AfxGetStaticModuleState( ))
CString tempString ;
....
}
从 c# 应用程序到 dll 的 DLLImport 有效,我可以从我的 c# 代码的调试器中进入这个函数 但是(是的,它来了!) 在函数“MyExportedFunction”中,你可以看到我实例化了一个 CString,当这个 CString 实例化被击中时,整个应用程序崩溃 调试器给了我
"无法步进。进程已终止 在尝试另一个附加之前刷新进程列表”
有人对我可以解决这个问题有什么建议吗?
问候 嗡嗡声
【问题讨论】:
-
编译使用 CString 链接到静态库的托管 C++ 库对我来说是一场噩梦。我不完全记得,但总是有一个链接错误,说 CString 正在使用旧版本并且已经链接了一个新版本。你试过使用 std::string 吗?
-
将“输出”窗口中的最后几行复制并粘贴到您的帖子中。
-
程序“[2408] RoadSnappa.exe: Managed”已退出,代码为 -1073741819 (0xc0000005)。程序“[2408] RoadSnappa.exe: Native”已退出,代码为 -1073741819 (0xc0000005)。
标签: c# c++ dll dllimport cstring