[发明专利]一种类托管代码调用C/C++风格函数的复杂结构的参数设计方法有效

专利信息
申请号: 201610257469.2 申请日: 2016-04-22
公开(公告)号: CN105786529B 公开(公告)日: 2018-11-20
发明(设计)人: 陆成刚;徐利光;王定江 申请(专利权)人: 浙江工业大学
主分类号: G06F8/30 分类号: G06F8/30;G06F8/41
代理公司: 杭州斯可睿专利事务所有限公司 33241 代理人: 王利强
地址: 310014 浙江省*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 种类 托管 代码 调用 c++ 风格 函数 复杂 结构 参数 设计 方法
【说明书】:

一种类托管代码调用C/C++风格函数的复杂结构的参数设计方法,1)在调用端中建立JSON字符串生成模块,对自定义的结构变量生成对应的JSON消息文本字符串;2)取出字符串中的字符组成数组,末尾以“\0”作结束;3)传入接口函数;4)在被调用端将字符数组转成字符串;5)建立JSON字符串解析模块,生成对应的调用端的自定义的结构变量;6)向被调用端输出信息时,将输出信息生成JSON字符串;7)取出字符串中的字符组成数组,末尾以“\0”作结束;8)将数组地址赋值给输出参数指针。本发明提供了一种简化接口复杂度、代码维护优良的类托管代码调用C/C++风格函数的复杂结构的参数设计方法。

技术领域

本发明属于托管代码领域,涉及一种类托管代码调用C/C++风格函数的复杂结构的参数设计方法。

背景技术

所谓托管代码是微软的术语,源于.NET专业程序开发平台,例如C#就是这样一种软件开发语言,其基于CLR(common language runtime)库运行程序;JAVA也是类似托管的一种开发语言平台,其基于JVM(Java Virtual Machine)虚拟机运行程序。托管语言开发的程序有自动内存垃圾回收机制,运行速度相对比C/C++程序慢,但开发速度快,运行时较安全可靠。在C#/JAVA开发中常常需要调用C/C++实现的函数库,这样托管代码的优势和C/C++语言的优势可以无缝结合了。C#调用C/C++函数使用的方法称为P/Invoke,而JAVA采用JNI方法调用C/C++函数。

C#/JAVA和C/C++之间的基本数据类型有着显著的差异,而且C/C++具有灵活的自定义结构;C#也有自定义的结构类型,但和C/C++显然不一样,JAVA是使用类来定义结构的,但JAVA的类的形式和C++的类是不一样的。所有这些差异导致在C#/JAVA调用C/C++函数时常常使用与C#/JAVA内置的基本数据类型一致的数据规格,例如使用整型、浮点型变量。如果C/C++的函数参数是字符型,那么一定要使用宽字符,因为C#中的char型默认是双字节的。

C/C++、C#、和JAVA数据类型的不完全比较(表格中数字表示字节数),参照表1:

表1

表1显示了各开发语言在基本数据类型的字节长度的差异,尤其虽然各自有自定义的数据结构的功能,但结构在形式上是不一样的。

通过上面的分析,我们知道在C/C++中实现复杂的数据结构的输入输出时,这样的函数很难直接被C#/JAVA调用,必须要将参数转化为仅仅使用基本类型的形式,但这样的设计往往增加了接口函数的数目、复杂度,不利于对代码作优良的维护,以及对数据设计概念的传递和保持。

发明内容

为了克服已有C/C++中实现复杂的数据结构的输入输出时很难直接被C#/JAVA调用的不足,本发明提供了一种简化接口复杂度、代码维护优良的类托管代码调用C/C++风格函数的复杂结构的参数设计方法。

本发明解决其技术问题所采用的技术方案是:

一种类托管代码调用C/C++风格函数的复杂结构的参数设计方法,C/C++端作为被调用端,C#/Java端作为调用端,所述参数设计方法包括如下步骤:

1)在调用端中建立JSON字符串生成模块,对自定义的结构变量生成对应的JSON消息文本字符串;

2)取出字符串中的字符组成数组,末尾以“\0”作结束;

3)传入接口函数;

4)在被调用端将字符数组转成字符串;

5)建立JSON字符串解析模块,生成对应的调用端的自定义的结构变量;

6)向被调用端输出信息时,将输出信息生成JSON字符串;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610257469.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top