一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

代码文件的优化方法、装置、电子设备及存储介质与流程

2022-12-13 23:18:54 来源:中国专利 TAG:

技术特征:
1.一种代码文件的优化方法,其特征在于,包括以下步骤:获取目标代码的顶点文件和像素文件;分别加载所述顶点文件和所述像素文件得到所述顶点文件和所述像素文件对应的代码字符串,解析所述代码字符串的语法,得到语法树,并利用预设剔除策略剔除所述语法树中不满足预设条件的无用代码,得到所述顶点文件的顶点字符串和所述像素文件的像素字符串;匹配所述顶点字符串和所述像素字符串之间的引用关系,并利用所述引用关系剔除所述顶点字符串和所述像素字符串中预设错误,得到剔除后的所述顶点字符串和所述像素字符串,基于所述剔除后的所述顶点字符串和所述像素字符串分别生成新顶点文件和新像素文件,达到优化目的。2.根据权利要求1所述的方法,其特征在于,所述利用预设剔除策略剔除所述语法树中不满足预设条件的无用代码,得到所述顶点文件的顶点字符串和所述像素文件的像素字符串,包括:在识别到所述语法树中存在常量定义时,进行常量折叠;和/或者,在识别到所述语法树中存在预设相等检查时,判断所述预设相等检查对应的代码无效,并剔除所述代码;和/或者,扫描所述语法树的所有叶子节点,剔除临时变量,将所述语法树的表达式替换所述临时变量被使用的位置;和/或者,在识别到函数时,根据引用关系匹配调用的代码位置,判断是否内联,如果是,则剔除所述函数,并将所述函数的内容替换到函数调用位置;和/或者,在识别到存在没有引用关系的预设局部变量、预设常量或预设结构体时,剔除所述预设局部变量、预设常量或预设结构体对应的代码;和/或者,在识别到所述目标代码的第一预设关键字时,判断预设关键字是否处于预设条件分支代码中,如果是,则增加临时变量所述预设关键字移动值所述预设条件分支外;和/或者,在识别到对结构体内部变量进行单步赋值时,将单步赋值替换为预设swizzle操作;和/或者,在识别到循环的表达式时,在其内部寻找第二预设关键字,并通过定义标识符替换所述第二预设关键字的处理逻辑,并在识别到返回代码时,通过定义标识符替换将所述返回操作,并将所述返回操作移动到函数的尾部。3.根据权利要求1所述的方法,其特征在于,所述匹配所述顶点字符串和所述像素字符串之间的引用关系,包括:匹配所述顶点字符串和所述像素字符串的全局变量和所述目标代码的内建变量;如果匹配到所述全局变量和所述内建变量,则基于所述全局变量和所述内建变量生成所述引用关系,否则判定匹配失败,并发送异常信息至命令行。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述分别加载所述顶点文件和所述像素文件得到所述顶点文件和所述像素文件对应的代码字符串,包括:获取所述顶点文件和所述像素文件的文件路径;根据所述文件路径定位所述顶点文件和所述像素文件,并读取所述顶点文件和所述像素文件对应的代码字符串。
5.一种代码文件的优化装置,其特征在于,包括:获取模块,用于获取目标代码的顶点文件和像素文件;第一处理模块,用于分别加载所述顶点文件和所述像素文件得到所述顶点文件和所述像素文件对应的代码字符串,解析所述代码字符串的语法,得到语法树,并利用预设剔除策略剔除所述语法树中不满足预设条件的无用代码,得到所述顶点文件的顶点字符串和所述像素文件的像素字符串;第二处理模块,用于匹配所述顶点字符串和所述像素字符串之间的引用关系,并利用所述引用关系剔除所述顶点字符串和所述像素字符串中预设错误,得到剔除后的所述顶点字符串和所述像素字符串,基于所述剔除后的所述顶点字符串和所述像素字符串分别生成新顶点文件和新像素文件,达到优化目的。6.根据权利要求5所述的装置,其特征在于,所述第一处理模块用于:在识别到所述语法树中存在常量定义时,进行常量折叠;和/或者,在识别到所述语法树中存在预设相等检查时,判断所述预设相等检查对应的代码无效,并剔除所述代码;和/或者,扫描所述语法树的所有叶子节点,剔除临时变量,将所述语法树的表达式替换所述临时变量被使用的位置;和/或者,在识别到函数时,根据引用关系匹配调用的代码位置,判断是否内联,如果是,则剔除所述函数,并将所述函数的内容替换到函数调用位置;和/或者,在识别到存在没有引用关系的预设局部变量、预设常量或预设结构体时,剔除所述预设局部变量、预设常量或预设结构体对应的代码;和/或者,在识别到所述目标代码的第一预设关键字时,判断预设关键字是否处于预设条件分支代码中,如果是,则增加临时变量所述预设关键字移动值所述预设条件分支外;和/或者,在识别到对结构体内部变量进行单步赋值时,将单步赋值替换为预设swizzle操作;和/或者,在识别到循环的表达式时,在其内部寻找第二预设关键字,并通过定义标识符替换所述第二预设关键字的处理逻辑,并在识别到返回代码时,通过定义标识符替换将所述返回操作,并将所述返回操作移动到函数的尾部。7.根据权利要求5所述的装置,其特征在于,所述第二处理模块用于:匹配所述顶点字符串和所述像素字符串的全局变量和所述目标代码的内建变量;如果匹配到所述全局变量和所述内建变量,则基于所述全局变量和所述内建变量生成所述引用关系,否则判定匹配失败,并发送异常信息至命令行。8.根据权利要求5所述的装置,其特征在于,所述第一处理模块用于:获取所述顶点文件和所述像素文件的文件路径;根据所述文件路径定位所述顶点文件和所述像素文件,并读取所述顶点文件和所述像素文件对应的代码字符串。9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-4任一项所述的代码文件的优化方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器
执行,以用于实现如权利要求1-4任一项所述的代码文件的优化方法。

技术总结
本申请涉及代码技术领域,特别涉及一种代码文件的优化方法、装置、电子设备及存储介质,其中,包括:获取目标代码的顶点文件和像素文件;分别加载顶点文件和像素文件得到对应的代码字符串,解析代码字符串的语法,得到语法树,并利用预设剔除策略剔除不满足预设条件的无用代码,得到顶点文件和像素文件的相应字符串;匹配顶点字符串和像素字符串之间的引用关系,并利用引用关系剔除其中预设错误,得到剔除后的顶点字符串和像素字符串,基于剔除后的顶点字符串和像素字符串分别生成新顶点文件和新像素文件,达到优化目的。由此,解决了相关技术中无法对无用代码或是错误代码进行剔除,导致占用面积大,降低工作效率,降低代码的性能等问题。能等问题。能等问题。


技术研发人员:周星 张磊 张英鹏
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2022.08.31
技术公布日:2022/12/12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献