我是一名有用的助手,可以为您翻译文本。
我有一个C++应用程序需要转换成DLL。我已经拥有了所有源代码。
我的函数是: extern "C" __declspec(dllexport) int mymain(int i, std::wstring myArgs)
我需要能够从C++或C#包装器中传递参数。我能够在C++控制台应用程序中调用此函数而没有错误。现在我正在尝试从C#中调用它。
这是我的C#代码:
我有一个C++应用程序需要转换成DLL。我已经拥有了所有源代码。
我的函数是: extern "C" __declspec(dllexport) int mymain(int i, std::wstring myArgs)
我需要能够从C++或C#包装器中传递参数。我能够在C++控制台应用程序中调用此函数而没有错误。现在我正在尝试从C#中调用它。
这是我的C#代码:
public static class DllHelper
{
[DllImport("rep.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int mymain(int iArgs, string aArgs);
}
class Program
{
static void Main(string[] args)
{
string s = "my string data";
DllHelper.mymain(0, s);
}
}
当我运行它时,我得到了
System.Runtime.InteropServices.SEHException:“外部组件引发了异常。”
我已经没有更多的想法了。
TIA