首页 / 知识
关于互操作性:如何封送结构数组-(.Net / C#=> C ++)
2023-04-13 11:13:00

How to marshal an array of structs - (.Net/C# => C++)免责声明:编组概念接近于零。
我有一个结构B,它包含一个字符串+一个结构C的数组。我需要将它跨巨大的互操作鸿沟发送给COM-C ++使用者。
编辑:@安德鲁 C ++ :. NET Framework编程最强大的语言 我将要处理一个需要跨C ++ / C#边界整理结构化数据的项目,但是我发现了一种更好的方法(尤其是如果您了解C ++并且喜欢学习新的编程语言时)。如果可以访问Visual Studio 2005或更高版本,则可以考虑使用C ++ / CLI而不是封送处理。它基本上允许您创建与C#100%兼容的魔术混合.NET /本机类库(就好像您已经在C#中编写了所有内容,以便在另一个C#项目中使用它一样)也与C#100%兼容和/或C ++。在您的情况下,您可以编写一个C ++ / CLI包装器,将数据从内存中的C ++整理到内存类型中的CLI。 我很幸运,使用纯C ++代码读取和写入数据文件(甚至可能是某种第三方库),然后我的C ++ / CLI代码将C ++数据转换(复制)为.NET类型在内存中,可以像在C#中编写读写库一样直接使用。对我而言,唯一的障碍是语法,因为您必须学习C ++的CLI扩展。我希望我早在学习此内容时就让StackOverflow提出语法问题! 作为遍历语法的回报,您可能学习了可以想象的最强大的编程语言。想想看:C#和.NET库的优雅和理智,以及C ++的低级和本机库兼容性。您不想用C ++ / CLI编写所有项目,但是将C ++数据导入C#/。NET项目非常有用。它"有效"。 教程:
答案取决于您也想编组的本机定义是什么。您没有提供足够的信息来帮助任何人。 将本机数组中的字符串编组在一起时,使人绊倒的一件事是,本机数组通常使用固定大小的缓冲区存储与结构内联分配的字符串。您的定义是将字符串整理为指向包含该字符串的另一个内存块的指针(这是默认值)。 [MarshalAs(UnmanagedType.ByValTStr,SizeConst = ##)]可能就是您想要的... |
最新内容
相关内容
对数组使用Python For循环
对数组使用Python For循环,名称,培训,代码,健康,水牛,数组,元素,有用,下面,以上,您可以使用for循环从数组中获取特定元素。假设您有一组水牛bpython中日期与字符串如何相互转换
python中日期与字符串如何相互转换?,时间,代码,培训,字符串,日期,格式,内容,数组,字符,本文,在python的使用过程中我们会发现,如果编程的格式python如何翻转字符串?
python如何翻转字符串?,培训,字符串,函数,方法,切片,放入,模块,以上,版本,更多,python中翻转字符串的方法:1、通过字符串切片来翻转>>>s=12345python如何创建空数组?
python如何创建空数组?,数据,培训,数组,形状,列表,对象,参数,方式,嵌套,初始化,python创建空数组的三种方式:1、numpy指定形状为0实际上,emptypython怎么在数组添加一行?
python怎么在数组添加一行?,培训,下标,维度,数组,列表,函数,形状,元素,代表,原型,python中在数组添加一行的方法:python中可以使用stack()函数python字符串如何判空?
python字符串如何判空?,密码,培训,字符串,空格,字符,方法,两边,长度,用户名,全部,python判断字符串是否为空的方法:1、使用字符串长度判断len(python中如何数出字符串的字符个数
python中如何数出字符串的字符个数,培训,字符,字符串,个数,次数,方法,示例,字典,语法,以前,python中统计字符串中祝福个数的方法:1、使用len()python如何获取字符串最后一个字符
python如何获取字符串最后一个字符?,培训,字符串,方括号,字符,方法,引号,变量,数据类型,结尾,分配,python获取字符串最后一个字符的方法:字符python如何判断字符串中是否含有空
python如何判断字符串中是否含有空格?,培训,空格,字符串,方法,空白,下面,以上,更多,内容,python中可以使用下面的方法判断字符串中是否包含python字符串不要最后字符怎么做?
python字符串不要最后字符怎么做?,培训,字符串,字符,末尾,空格,方法,示例,语法,以上,结果,python中可以使用rstrip()方法删除string字符串末python如何判断多维数组多少列
python如何判断多维数组多少列,第一,培训,数组,函数,表示,矩阵,以上,功能,方法,更多,python获取数组行数和列数的方法:importnumpyasnpx=np.arpython如何检测字符串是不是全为字
python如何检测字符串是不是全为字母?,检测,培训,字符串,字母,方法,字符,示例,语法,以上,更多,python中可以使用isalpha()方法检测字符串是不