System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及代码解析领域,具体涉及一种代码中冗余语句的删除方法、装置、电子设备及存储介质。
技术介绍
1、开发人员在编写代码项目文件的过程中,常常会编写用于引用头文件的语句,通过这些语句将头文件嵌入到源文件中。在实际开发情况下,代码项目文件中常常会包含一些非必要的冗余语句,导致代码项目文件的编译时间不必要地增加,从而导致代码项目文件的编译效率偏低。
技术实现思路
1、本申请的一个目的在于提出一种代码中冗余语句的删除方法、装置、电子设备及存储介质,能够提高代码项目文件的编译效率。
2、根据本申请实施例的一方面,公开了一种代码中冗余语句的删除方法,所述方法包括:
3、获取代码项目文件的源文件和头文件,并获取文件之间的初始引用关系,其中,所述初始引用关系用于描述所述源文件所使用符号的文件引用路径和所述头文件所使用符号的文件引用路径;
4、基于所述初始引用关系,生成以所述源文件和所述头文件为图节点的初始有向无环图;
5、基于所述源文件所使用符号、所述头文件各自直接声明的本地符号、所述头文件各自的本地符号数量,对所述初始有向无环图进行节点筛选,得到目标有向无环图;
6、按照所述目标有向无环图描述的所述图节点之间的目标引用关系,对所述源文件和所述头文件中用于引用其他头文件的冗余语句进行删除。
7、根据本申请实施例的一方面,公开了一种代码中冗余语句的删除装置,所述装置包括:
8、获取模块,配置为获取代码项目文件的源
9、图生成模块,配置为基于所述初始引用关系,生成以所述源文件和所述头文件为图节点的初始有向无环图;
10、节点筛选模块,配置为基于所述源文件所使用符号、所述头文件各自直接声明的本地符号、所述头文件各自的本地符号数量,对所述初始有向无环图进行节点筛选,得到目标有向无环图;
11、删除模块,配置为按照所述目标有向无环图描述的所述图节点之间的目标引用关系,对所述源文件和所述头文件中用于引用其他头文件的冗余语句进行删除。
12、根据本申请实施例的一方面,公开了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各种可选实现方式中提供的方法。
13、根据本申请实施例的一方面,公开了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述各种可选实现方式中提供的方法。
14、根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
15、本申请实施例中,基于代码项目文件的源文件和头文件之间的初始引用关系,生成以源文件和头文件为图节点的初始有向无环图,并基于源文件所使用符号、头文件各自直接声明的本地符号、头文件各自的本地符号数量,对初始有向无环图进行节点筛选后,能够得到所需编译符号数量有效缩减的代码项目文件对应的目标有向无环图。因此按照目标有向无环图描述的图节点之间的目标引用关系,对源文件和头文件中用于引用其他头文件的冗余语句进行删除后,能够得到所需编译符号数量有效缩减的代码项目文件,从而能够使得代码项目文件的编译时间得以有效缩减,提高代码项目文件的编译效率。
16、本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
17、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
本文档来自技高网...【技术保护点】
1.一种代码中冗余语句的删除方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,获取文件之间的初始引用关系,包括:
3.根据权利要求1所述的方法,其特征在于,基于所述源文件所使用符号、所述头文件各自直接声明的本地符号、所述头文件各自的本地符号数量,对所述初始有向无环图进行节点筛选,得到目标有向无环图,包括:
4.根据权利要求1所述的方法,其特征在于,基于所述源文件所使用符号和所述本地符号,选取出编译所述代码项目文件所必需的第一类图节点进行保留,包括:
5.根据权利要求1所述的方法,其特征在于,基于所述源文件所使用符号和所述本地符号,选取出编译所述代码项目文件所无需的所述初始有向无环图的第二类图节点进行删除,包括:
6.根据权利要求3所述的方法,其特征在于,基于所述本地符号数量,对所述第三类图节点进行筛选,得到所述目标有向无环图,包括:
7.根据权利要求6所述的方法,其特征在于,基于所述符号数量总和,对所述第三类图节点进行筛选,得到所述目标有向无环图,包括:
8.一种代码中冗
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7任一项所述的方法。
...【技术特征摘要】
1.一种代码中冗余语句的删除方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,获取文件之间的初始引用关系,包括:
3.根据权利要求1所述的方法,其特征在于,基于所述源文件所使用符号、所述头文件各自直接声明的本地符号、所述头文件各自的本地符号数量,对所述初始有向无环图进行节点筛选,得到目标有向无环图,包括:
4.根据权利要求1所述的方法,其特征在于,基于所述源文件所使用符号和所述本地符号,选取出编译所述代码项目文件所必需的第一类图节点进行保留,包括:
5.根据权利要求1所述的方法,其特征在于,基于所述源文件所使用符号和所述本地符号,选取出编译所述代码项...
【专利技术属性】
技术研发人员:翁轩锴,
申请(专利权)人:腾讯科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。