C#里怎么接收动态库函数返回的字符型返回值、
char*_stdcallread(char*str1,char*str2,LPSTRstr3)动态库里的函数是这样在C#里我是这样定义的[DllImport("swwy...
char* _stdcall read(char *str1,char *str2,LPSTR str3)动态库里的函数是这样
在C#里我是这样定义的
[DllImport("swwydll.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern string read(string str1, string str2,LPSTR str3);
调用
StringBuilder rdata = new StringBuilder(1024);
string res = read(str1, str2, rdata );
但是这样的话程序就会卡死在read(str1, str2, rdata ),返回不了,我查看了动态库日志,函数里面没有问题,执行到最后一步了,窗体自动关闭了,求大神帮助 展开
在C#里我是这样定义的
[DllImport("swwydll.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern string read(string str1, string str2,LPSTR str3);
调用
StringBuilder rdata = new StringBuilder(1024);
string res = read(str1, str2, rdata );
但是这样的话程序就会卡死在read(str1, str2, rdata ),返回不了,我查看了动态库日志,函数里面没有问题,执行到最后一步了,窗体自动关闭了,求大神帮助 展开
1个回答
2018-07-06
展开全部
简单说,就是你执行明某个方法后希望得到的数据 C# 代码如下: public int Test() { int i =10; return i } 上面的意思就是需要返回int 类型的数据,也可以换成string 等等
追问
还是没懂,假如我c++动态库要return “asd”,那我C#窗体程序里调用动态库函数的时候具体怎么定义?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询