结构体数组值传递(C#调用C++Dll 结构体传值问题)
本文目录
C#调用C++Dll 结构体传值问题
首先说明, 这绝对不是一个好的传递方式, 异构程序之间的数据传输 应该尽可能的以简单且文档化数据结构进行, 绝不应该依赖于语言特性或者平台特性。然后 解决你这个问题其实也有很多方案,但是, 这都属于不推荐使用的范畴,我列举一种比较容易理解的---------伪代码如下------------ public CAMERA_INFO_LIST stCameraInf;----------------------------------------unsafe 取CAMERA_INFO_LIST的地址 ---------伪代码如下------------ unsafe{ CAMERA_INFO_LIST* ptr = &sct.stCameraInf正常遍历 ......................}----------------------------------------
按值传递结构体的问题
结构体成员maker是数组,不能直接用’=’赋值。可以改为:
memcpy(b.maker, a.maker, sizeof(char) * 40);
关于结构体中指针 值传递的问题
你应该指定,在按值传递结构体参数时,是按内存拷贝的传递,那么函数外的实参s,和函数内的形参s,是两个不同的东西那么它俩的stack数组的地址,是不同的地址当你返回时,形参s的top和base拷贝给了返回值s,这里显然发生了错误stack数组拷贝没问题,输入的数都在,就是top和base值都是错的,它指向了Create函数执行时,函数内那个s的stack形参非实参,此stack非彼stack。
下面的A是一个Array类型的结构体,我这样直接用A传递可以吗
可以的,结构体可以作为函数参数进行值传递,形参名也可以和实参名相同,主要是变量有使用范围!
更多文章:
美参议院批准芬兰瑞典加入北约(芬兰和瑞典正式确认加入北约的意愿,这会有哪些影响)
2024年8月2日 11:41
asp教程连接数据库(用asp.net如何连接sql数据库)
2024年4月1日 07:38
shell命令超过内存提醒(利用shell弄cpu内存磁盘的优势)
2024年7月16日 18:16
gettickcount(gettickcount 返回值为负)
2024年7月23日 21:17
支付宝小程序开发文档(支付宝小程序怎么使用,入口在哪里,和微信小程序开发环境是一样的吗)
2024年7月17日 06:09
bigdecimal累加求和(Java新手求100阶乘到200的阶乘相加的Java程序)
2024年3月19日 02:00
根据excel生成数据库脚本(怎样通过脚本文件往SignalBuilder里面导入Excel数据)
2024年5月2日 03:43
tsql语言中有什么运算(T-SQL 两个binary值作位运算)
2024年7月21日 03:14
matlab绘制极坐标函数(使用matlab绘制由极坐标描述的曲线)
2024年6月29日 11:53
postman中文意思(mybrotherisapostman中文意思是)
2024年7月24日 12:40
metaphors(metaphor 和 analogy的区别)
2024年6月26日 19:55