[发明专利]C标准动态库的调用方法与装置有效
申请号: | 202110778724.9 | 申请日: | 2021-07-09 |
公开(公告)号: | CN113448655B | 公开(公告)日: | 2022-06-17 |
发明(设计)人: | 金世良;蒲云 | 申请(专利权)人: | 赞同科技股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京尚钺知识产权代理事务所(普通合伙) 11723 | 代理人: | 王海荣;严田青 |
地址: | 200043 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 标准 动态 调用 方法 装置 | ||
本发明提供一种C标准动态库的调用方法与装置,该调用方法包括:接收请求报文,所述请求报文包括socket请求报文或http请求报文;根据所述请求报文中的函数名获取C标准动态库中的函数地址,并将所述请求报文中的请求数据组织为C标准动态库参数结构;根据所述函数地址以及C标准动态库参数结构调用C标准动态库函数。本发明能将任意C标准动态库提供给任意语言调用。
技术领域
本发明涉及软件开发技术领域,尤其涉及一种C标准动态库的调用方法与装置。
背景技术
C标准指的是c语言代码导出生产的,或者在C++代码中externC__declspec(dllexport)定义的接口。这个声明不是肯定的,只是举一个例,实际声明这种动态库导出函数的方式有很多,主要强调的是不带有C++标准的一系列标识。因为c++需要支持重载,所以需要有很多信息帮助匹配接口。
面向网络报文的C标准接口设计时,使用动态链接库,并非适用于所有功能模块。现代软件开发很多功能模块,可由很多形式提供,比如java应用的jar包、electron内部的node.js承载的许多服务等,本身不需要剥离,不存在多对多的情况。动态链接库更适合一些比较底层,必须通过C/C++等底层语言实现的,如设备驱动,多媒体处理,或者一些比较老的功能模块进行二次包装等情况。
跨语言调用动态链接库方面,传统的如jni,jna,ocx,activeX,com组件,npapi,ppapi等都是跨语言,加载c/c++的常见方式。其中jni和jna等这种方式被加载动态链接库与调用模块在同一个进程,分享内存,需要调用语言在自己的环境中创建unsafe内存交给动态链接库使用。开发过程复杂,出问题以后难以排查,对开发人员要求较高,需要他们在自己使用语言的基础上,对动态链接库内的内存实现有深刻理解,实现难度大。
Ocx或者叫ActiveX需要开发者使用对应框架下的一系列技术标准,处理内存问题,但是仍然在目标进程中,容易引发内存问题。同时开发非常复杂,同时依赖Windows系统环境,对Windows系统差异较为敏感。
COM组件方式也包括OCX或者叫ActiveX。COM组件可以面向不同语言开发的动态连接库作为服务提供给windows调用,也提供了进程外COM组件的方案等。COM组件为了让不同语言也能够提供服务,服务的开发过程也非常复杂,调用过程也会非常复杂,应用开发难度很高。整体依赖windows环境,对windows环境差异较为敏感,linux环境下虽然标准可用,但是缺乏统一的功能支持,使用并不广泛。其中ActiveX也可以给web使用,但是内存处理过程复杂,开发成本很高,一般都很难使用到进程外COM组件的方式,所以非常容易引发内存问题。
Npapi和ppapi是一些浏览器提供给前端调用本地资源的模块,但是功能都严重受到限制,需要在沙盒中运行,基本只能使用纯逻辑功能的动态链接库。
在rpc通信方面,目前主流rpc框架都是面向服务器,解决服务开发维护方面的问题,让应用更容易地使用服务器上面的服务,服务的形态主要都是基于相应rpc框架开发的服务模块,对语言和运行环境有较强的要求,是先有框架,后有服务模块。
因此,如何提供一种C标准动态库调用方法实现在任意操作系统环境下,将任意C标准动态库(即动态链接库)提供给任意语言调用,成为亟待解决的技术问题。
发明内容
有鉴于此,本发明提供一种C标准动态库调用方法与装置,实现在任意操作系统环境下,将任意C标准动态库提供给任意语言调用。
一方面,C标准动态库的调用方法,所述调用方法包括:
接收请求报文,所述请求报文包括socket请求报文或http请求报文;
根据所述请求报文中的函数名获取C标准动态库中的函数地址,并将所述请求报文中的请求数据组织为C标准动态库参数结构;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赞同科技股份有限公司,未经赞同科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110778724.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:冷轧钢筋螺旋机
- 下一篇:一种具有活动桌面的办公桌