[发明专利]一种跨平台的ABI兼容C++组件框架的实现方法有效

专利信息
申请号: 202010961266.8 申请日: 2020-09-14
公开(公告)号: CN112148283B 公开(公告)日: 2023-09-22
发明(设计)人: 张铭雨;叶雨桐 申请(专利权)人: 第六镜科技(成都)有限公司
主分类号: G06F8/36 分类号: G06F8/36;G06F8/41
代理公司: 北京华清迪源知识产权代理有限公司 11577 代理人: 杜立军
地址: 610093 四川省成都市中国(四川*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 平台 abi 兼容 c++ 组件 框架 实现 方法
【权利要求书】:

1.一种跨平台的ABI兼容C++组件框架的实现方法,其特征在于,包括步骤:

以泛型ABI接口类型为基础,构建底层专有ABI接口类型系统;其中,所述ABI接口类型包括纯虚函数,所述纯虚函数的参数均为基本类型;

将所述ABI接口类型系统中ABI接口类型的函数与C++程序对应实现类型中成员函数进行静态绑定;

调用C++程序对应实现类型中相应函数时,通过所述静态绑定的关系,导出所述ABI接口类型;

根据泛型ABI接口的成员函数协议,设置接口的多个成员函数,生成ABI接口类型;

采用GUID作为所述ABI接口类型的唯一标识符;

定义所述ABI接口类型的适配层;其中所述适配层是指所述ABI接口类型与C++程序对应实现类型中成员函数的对应关系;

获取所述ABI接口类型的成员函数;

利用奇异模板转换所述成员函数的指针至所述C++程序对应实现类型中成员函数的指针;

调用所述C++程序对应实现类型中相应函数,实现所属API接口类型的成员函数到所述实现类型的成员函数。

2.根据权利要求1所述的跨平台的ABI兼容C++组件框架的实现方法,其特征在于,所述ABI接口类型的适配层的定义包括步骤:

提取预先保存所述ABI接口类型信息的指针,并传递至所述ABI接口类型的成员函数;

如果出现错误,获取错误码,并生成C++异常的信息;

若没有出现错误,则将所述指针装填为所述C++程序对应实现类型并传递至所述实现类型的成员函数,构成ABI接口类型的成员函数与所述C++程序对应实现类型的成员函数的适配。

3.根据权利要求1所述的跨平台的ABI兼容C++组件框架的实现方法,其特征在于,所述GUID的生成方式包括步骤:

获取所述ABI接口类型的各成员函数的输出参数;

获取所述各输出参数的GUID;

拼接各输出参数的GUID形成数组;

计算所述数组的哈希值,并取所述哈希值的前128位作为新的GUID。

4.根据权利要求1所述的跨平台的ABI兼容C++组件框架的实现方法,其特征在于,采用GUID或所述ABI接口类型的名称相结合的方式导出所述ABI接口类型;

从GUID查询所述C++程序对应实现类型的创建函数;

通过所述创建函数创建所述ABI接口类型的实例。

5.根据权利要求4所述的跨平台的ABI兼容C++组件框架的实现方法,其特征在于,还包括引用计数管理;每创建一个实例,引用计数管理引用技术自增一;每销毁一个实例,应用技术自减一;通过引用计数归零,删除所述ABI接口类型。

6.根据权利要求2所述的跨平台的ABI兼容C++组件框架的实现方法,其特征在于,采用线程局部存储的方式对所述错误码进行存储。

7.根据权利要求4所述的跨平台的ABI兼容C++组件框架的实现方法,其特征在于,所述采用GUID或所述ABI接口类型的名称相结合的方式导出所述ABI接口类型包括步骤:

输入GUID或所述ABI接口类型的名称;

在所述GUID或所述ABI接口类型的名称的哈希值缓存中进行查询;

如果找到所述GUID或所述ABI接口类型的名称的哈希值,则创建函数并抛出C++异常,实现ABI接口类型的导出;

如果没有找到所述GUID或所述ABI接口类型的名称的哈希值,直接导出所述ABI接口类型。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于第六镜科技(成都)有限公司,未经第六镜科技(成都)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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