日期:2014-05-17  浏览次数:20688 次

C#调用C++DLL问题,求指导啊!

这是C++生成Dll的程序

这是C#调用Dll的程序

需要调用的DLL已经放在C#程序的debug目录下了!

这是调用时报错!麻烦各位大神给我看看是什么问题,谢谢啦!

------解决方案--------------------
"格式不正确"是因为调用方和被调用方的目标平台不一致,X64或者X86,你把你的C#程序的编译目标设置成跟C++ dll一致的格式。
------解决方案--------------------
你可以修改一下我做的是bool类型的
------解决方案--------------------

[ StructLayout( LayoutKind.Sequential, CharSet=CharSet.Ansi ) ]
public struct URLRet
{
       [MarshalAs(UnmanagedType.ByValTStr, SizeConst=256)] 
       public string url;
}

internal static extern URLRet EncodeURL(URLRet Str);