[发明专利]自适应编译环境的编译方法、装置、电子设备和存储介质在审
申请号: | 202310087210.8 | 申请日: | 2023-02-08 |
公开(公告)号: | CN116225449A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 杨黎明;王晓 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自适应 编译 环境 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了一种自适应编译环境的编译方法、装置、电子设备和存储介质,包括:获取编译环境文件和项目源代码文件;提取所述编译环境文件的工具目录和环境变量;在所述环境变量对应的位置上写入所述工具目录,生成工具配置文件;将所述工具配置文件写入所述项目源代码文件的二叉树;在当前编译器针对所述项目源代码文件进行编译时,编译所述二叉树,依据所述工具配置文件加载配置工具,并采用所述配置工具设置所述当前编译器;基于设置后的当前编译器对所述项目源代码文件进行编译。本发明实施例通过对编译环境的检测及自动加载配置文件,从而到达环境配置与业务项目间的匹配,使得开发及编译更加有效率。
技术领域
本发明涉及计算机系统技术领域,特别是涉及一种自适应编译环境的编译方法、一种自适应编译环境的编译装置、一种电子设备和一种存储介质。
背景技术
在UEFI(统一扩展固件接口)BIOS(基本输入输出系统)固件开发环境中,开发工具的不定期更新,会带来配套其它工具,环境变量的导入及更新。开发环境涉及到如java(编程语言名),python(编程语言名),wdk(网络开发工具包)等,特定编译器等多种路径在UEFI环境下的配置。由于项目源代码也会持续更新,其编译环境同样需要对编译器中,某些工具的版本提出要求;现有的如ami UEFI aptio(开发工具名)等开发工具,更新时默认相关的工具,变量环境等配置为空;这样工具配置,环境变量配置需要重新调整,才能正常编译代码,否则无法编译代码;导致开发以及编译的效率低下。并且当不同的项目源代码需要更新编译器时,配置编译环境的工作,会显得比较繁琐,给开发工作,带来诸多不便;同时,存在编译器的选择不当,造成代码虽然能编译成功,但固件不能开机的风险。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种自适应编译环境的编译方法、一种自适应编译环境的编译装置、一种电子设备和一种存储介质。
在本发明的第一个方面,本发明实施例公开了一种自适应编译环境的编译方法,包括:
获取编译环境文件和项目源代码文件;
提取所述编译环境文件的工具目录和环境变量;
在所述环境变量对应的位置上写入所述工具目录,生成工具配置文件;
将所述工具配置文件写入所述项目源代码文件的二叉树;
在当前编译器针对所述项目源代码文件进行编译时,编译所述二叉树,依据所述工具配置文件加载配置工具,并采用所述配置工具设置所述当前编译器;
基于设置后的当前编译器对所述项目源代码文件进行编译。
可选地,所述工具配置文件包括目标版本标识;在所述基于设置后的当前编译器对所述项目源代码文件进行编译的步骤之前,所述方法还包括:
读取所述当前编译器的当前版本标识;
当所述当前版本标识与所述目标版本标识匹配时,执行所述基于设置后的当前编译器对所述项目源代码文件进行编译的步骤。
可选地,所述方法还包括:
当所述当前版本标识与所述目标版本标识不匹配时,生成编译提醒信息;
显示所述编译提醒信息。
可选地,所述编译环境文件包括环境配置文件;所述提取所述编译环境文件的工具目录和环境变量的步骤包括:
依据所述环境配置文件的类型,确定所述工具目录;
遍历所述环境配置文件,确定所述环境变量。
可选地,所述环境变量对应有指针,所述遍历所述环境配置文件,确定所述环境变量的步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310087210.8/2.html,转载请声明来源钻瓜专利网。