1

在 Visual Studio 2010 C# 应用程序下,我像这样调用非托管 dll:

[DllImport("cyghello.dll", CharSet = CharSet.Ansi, CallingConvention =          CallingConvention.StdCall)]
 [return: MarshalAs(UnmanagedType.LPStr)]
 public static extern string runMainRoutine(char[] _inputString);

C++ dll 在 mingw/cygwin 下构建;在此之前,我有 *.exe,它运行良好,然后我只是将函数更改为 extern。所以这不是依赖问题。

当我调用函数时:

string res = runMainRoutine(("balbalbalblalb").ToCharArray());

它只是默默地关闭应用程序。没有错误。没有调试信息。(调试非托管代码在项目选项中打勾)

该怎么办?怎么理解,怎么回事?

我试图捕捉 UnhandledExceptionEventHandler,但这并没有帮助。

4

0 回答 0