[发明专利]用于预编译器的代码转换方法、装置、介质及设备在审
申请号: | 202111356820.0 | 申请日: | 2021-11-16 |
公开(公告)号: | CN114047922A | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 马贤迪;宝腾飞;李清硕;乔海军;刘真 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/51 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 魏嘉熹 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 预编 代码 转换 方法 装置 介质 设备 | ||
本公开涉及一种用于预编译器的代码转换方法、装置、介质及设备,所述方法包括:根据接收的第三方库和预编译器中预设的签名表示,确定第三方库对应的包装库的库名称和库链接地址,包装库中包含第三方库的链接地址,预编译器用于将第一代码语言下的第一代码转换至第二代码语言,以获得第二代码;根据库名称和库链接地址,生成映射关系并存储映射关系至映射表中;根据第三方库的库名称和映射表,生成所述第三方库在所述第一代码语言下对应的接口代码,并将所述接口代码添加至接口文件;根据所述第二代码语言和所述接口文件对所述第一代码进行转换,以获得所述第二代码。由此可以支持在预编译器中扩展第三方库,提高代码转换的效率和自动化水平。
技术领域
本公开涉及计算机技术领域,具体地,涉及一种用于预编译器的代码转换方法、装置、介质及设备。
背景技术
神经网络模型的应用为用户的生活提供了极大的遍历。通常神经网络模型的应用需要经过模型训练和部署,才能基于该神经网络模型提供相应的服务。实际应用中模型训练和模型部署时所使用的代码语言通常不同,相关技术中可以采用编译器对代码进行预编译,实现不同代码语言之间代码的转换。
例如,Pythran是Python语言的预编译器,其基于带有接口描述注释的Python模块,转换为具有相同接口的本机模块。但是相关工具中并不支持该工具之外的第三方库,此时需要技术人员进行手动编写,该过程对技术人员的技术要求高,且工作效率较低。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种用于预编译器的代码转换方法,所述方法包括:
根据接收的第三方库和预编译器中预设的签名表示,确定所述第三方库对应的包装库的库名称和库链接地址,其中,所述包装库中包含所述第三方库的链接地址,所述预编译器用于将第一代码语言下的第一代码转换至第二代码语言,以获得第二代码;
根据所述库名称和所述库链接地址,生成映射关系并存储所述映射关系至映射表中;
根据所述第三方库的所述库名称和所述映射表,生成所述第三方库在所述第一代码语言下对应的接口代码,并将所述接口代码添加至接口文件;
根据所述第二代码语言和所述接口文件对所述第一代码进行转换,以获得所述第二代码。
第二方面,本公开提供一种用于预编译器的代码转换装置,所述装置包括:
第一确定模块,用于根据接收的第三方库和预编译器中预设的签名表示,确定所述第三方库对应的包装库的库名称和库链接地址,其中,所述包装库中包含所述第三方库的链接地址,所述预编译器用于将第一代码语言下的第一代码转换至第二代码语言,以获得第二代码;
第一生成模块,用于根据所述库名称和所述库链接地址,生成映射关系并存储所述映射关系至映射表中;
第二生成模块,用于根据所述第三方库的所述库名称和所述映射表,生成所述第三方库在所述第一代码语言下对应的接口代码,并将所述接口代码添加至接口文件;
转换模块,用于根据所述第二代码语言和所述接口文件对所述第一代码进行转换,以获得所述第二代码。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111356820.0/2.html,转载请声明来源钻瓜专利网。