dll 运行时错误(C/C++/GCC/MSVC)

Posted

技术标签:

【中文标题】dll 运行时错误(C/C++/GCC/MSVC)【英文标题】:dll runtime error(C/C++/GCC/MSVC) 【发布时间】:2010-06-12 10:15:29 【问题描述】:

经过两天的战斗,我在MSVC中正确地制作了dll(用GCC / G ++编译)链接,但是在调试时,我得到了运行时错误,就是说:

运行时错误! 程序:my_exe.exe 此应用程序要求运行时以不寻常的方式终止它。请联系应用程序的支持团队了解更多信息。

我以这种方式测试了一些东西:在 mingw/gcc 中编译了一个 dll,在 MSVC 中链接和调试,它工作正常,但是当我在我的大型项目中实现它时,我得到了运行时错误。 我在mingw/GCC中测试了dll,它工作正常,它说运行时错误不是来自编程错误,而是来自不同平台之间的dll不兼容。有没有人可以帮帮我?谢谢,请原谅我糟糕的英语。

【问题讨论】:

【参考方案1】:

最后,我在 MSVC 中编译了我的 dll,并在 MSVC 中正确链接。在调试时,我确实遇到了一些内存错误,并进入了 dll 代码。但是当 dll 在 mingw 中编译时,它不会进入实际的 dll 代码,只是抛出一个“运行时错误”。

然而,在更新我的 dll 代码后,我还没有测试 mingw 编译的 dll 在 MSVC 中是否运行良好,但我确信,如果你想在 MSVC 中调试在 mingw 中编译的 dll,它不是明智的选择。

感谢大家的关心!

【讨论】:

以上是关于dll 运行时错误(C/C++/GCC/MSVC)的主要内容,如果未能解决你的问题,请参考以下文章

与 GCC/MSVC 中的 lambda 转换构造函数的差异

将数据从C#传入和传出DLL

在 Linux/OSX 上从 C 程序运行 matlab 编译的 dll 库

调试时如何从 C# 应用程序步入 C/C++ DLL

处理来自 C++ DLL 的用户定义异常 - .NET PInvoke/Marshalling

在Mono中获取MissingDLL错误