C#调用DLL总是出现异常

我用C#调用VC编写的DLL老出错,异常类型是AccessViolationException,那个DLL中函数声明是extern"C"LINKMGP_APIchar*g... 我用C#调用VC编写的DLL老出错,异常类型是AccessViolationException,那个DLL中函数声明是
extern "C" LINKMGP_API char* get_translate_sent( char* input_string);
请问在C#中应当怎样调用。我的C#中的声明语句是
[DllImport("linkmgp.dll")]
public static extern string get_translate_sent(string input_string);
但是总出现这个异常,貌似是数据类型的问题但是不知道怎么改。
那个DLL的源程序里面是这样写的 #define LINKMGP_API __declspec(dllimport)
我把里面的char*都换成了StringBuilder都不行,还是那个异常,继续郁闷中……等待大牛拯救
展开
 我来答
dragon2snow
2010-10-04 · TA获得超过1099个赞
知道小有建树答主
回答量:1150
采纳率:0%
帮助的人:1139万
展开全部
查看一下你的LINKMGP_API 声明是什么?
如果这个不是标准的声明,就使用dllimport里的设置
如果是标准的,使用stringbuiler来换char*的定义
或是char[]
爱吃刺猬馒头的蓝猫
2010-10-11
知道答主
回答量:37
采纳率:0%
帮助的人:21.3万
展开全部
DLL和c#调用中的函数返回应该要一致的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式