码迷,mamicode.com
首页 > 其他好文 > 详细

(转)C#调用C函数(DLL)传递参数问题

时间:2014-05-26 10:06:56      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:style   c   class   blog   http   a   

备忘:

1.C函数参数为字符串char*。如果是入参,对应C#中string或StringBuilder;如果是出参对应C#中StringBuider;

 

2.C函数参数为结构体指针,需在C#中对应定义结构体。如果是入参,C#中可为myfunction(MyStruct mystruct)或myfunction(ref MyStruct mystruct);如果是出参,C#中为myfunction(ref MyStruct mystruct)。有多个函数使用MyStruct参数时,如果有一个函数使用ref,则其它函数也要使用ref,无论其是否是出参,否则会在运行时提示出现内存错误。即要尽量保证同一结构体类型的参数在C#中定义的一致性。

 

3.C函数不能返回数组,但可将数组封装为结构体的成员,通过返回结构体结果,从而得到要返回的数组。

 

其它参考文章:

平台调用P-INVOKE(一)--(基础篇)

http://blog.csdn.net/sdl2005lyx/article/details/6796037

平台调用P-INVOKE(二)--(封送字符串)

http://blog.csdn.net/sdl2005lyx/article/details/6799495

 

平台调用P-INVOKE(三)--(封送结构体)

http://blog.csdn.net/sdl2005lyx/article/details/6801113

 

平台调用P-INVOKE高级篇(一)--(封送含有二维数组的结构体)

http://blog.csdn.net/sdl2005lyx/article/details/6998969

(转)C#调用C函数(DLL)传递参数问题,布布扣,bubuko.com

(转)C#调用C函数(DLL)传递参数问题

标签:style   c   class   blog   http   a   

原文地址:http://www.cnblogs.com/lhuan/p/3747324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!