【技术实现步骤摘要】
一种依赖关系的生成方法及装置
本申请属于数据处理
,尤其涉及一种依赖关系的生成方法及装置。
技术介绍
在对代码进行核查时,需要确定环境中不同代码模块中变量、函数之间的依赖关系。现有获取变量、函数依赖关系的方法为:在环境中检测全部自定义的变量及函数,并在全环境下匹配自定义的变量及函数,根据匹配结果确定自定义的变量或函数被引用的位置以及确认引用自定义的变量或函数的代码模块。由于需要在环境下匹配自定义的变量及函数,而随着程序开发,环境下包括的代码模块越来越多,在环境下匹配自定义的变量及函数耗时较长,导致依赖关系的生成效率低。
技术实现思路
有鉴于此,本申请的目的在于提供一种依赖关系的生成方法及装置,用于解决现有技术中依赖关系的生成效率低的问题。技术方案如下:本申请提供一种依赖关系的生成方法,包括:分别对环境中的每个代码模块进行编译,生成object文件;针对每个object文件,生成该object文件的符号表;所述符号表中至少包括该object文件的自定义变量、自定义函数、引用变量以及引用函数;从所述符号表中分别获取该object文件的自定义变量、自定义函数、引用变量以及引用函数,直至获取到全部object文件中的自定义变量、自定义函数、引用变量以及引用函数;基于获取到的自定义变量以及引用变量,分别确定与每个引用变量匹配的自定义变量所在object文件为该引用变量的依赖文件,生成变量依赖关系;基于获取到的自定义函数以及引用函数,分别确定与每个引用函数匹配的自定义函数所在object文件为该引用函数的依赖文件,生成函数依赖关系;基于变量依赖关系以及函数依赖关系, ...
【技术保护点】
1.一种依赖关系的生成方法,其特征在于,包括:分别对环境中的每个代码模块进行编译,生成object文件;针对每个object文件,生成该object文件的符号表;所述符号表中至少包括该object文件的自定义变量、自定义函数、引用变量以及引用函数;从所述符号表中分别获取该object文件的自定义变量、自定义函数、引用变量以及引用函数,直至获取到全部object文件中的自定义变量、自定义函数、引用变量以及引用函数;基于获取到的自定义变量以及引用变量,分别确定与每个引用变量匹配的自定义变量所在object文件为该引用变量的依赖文件,生成变量依赖关系;基于获取到的自定义函数以及引用函数,分别确定与每个引用函数匹配的自定义函数所在object文件为该引用函数的依赖文件,生成函数依赖关系;基于变量依赖关系以及函数依赖关系,生成文件之间的依赖关系。
【技术特征摘要】
1.一种依赖关系的生成方法,其特征在于,包括:分别对环境中的每个代码模块进行编译,生成object文件;针对每个object文件,生成该object文件的符号表;所述符号表中至少包括该object文件的自定义变量、自定义函数、引用变量以及引用函数;从所述符号表中分别获取该object文件的自定义变量、自定义函数、引用变量以及引用函数,直至获取到全部object文件中的自定义变量、自定义函数、引用变量以及引用函数;基于获取到的自定义变量以及引用变量,分别确定与每个引用变量匹配的自定义变量所在object文件为该引用变量的依赖文件,生成变量依赖关系;基于获取到的自定义函数以及引用函数,分别确定与每个引用函数匹配的自定义函数所在object文件为该引用函数的依赖文件,生成函数依赖关系;基于变量依赖关系以及函数依赖关系,生成文件之间的依赖关系。2.根据权利要求1所述的生成方法,其特征在于,所述从所述符号表中分别获取该object文件的自定义变量、自定义函数、引用变量以及引用函数,直至获取到全部object文件中的自定义变量、自定义函数、引用变量以及引用函数包括:从所述符号表中获取该object文件的自定义变量、自定义函数,并基于自定义变量以及对应的该object文件建立第一数据表,基于自定义函数以及对应的该object文件建立第二数据表;从所述符号表中获取该object文件的引用变量以及引用函数,并基于引用变量、引用函数以及对应的该object文件建立第三数据表。3.根据权利要求2所述的方法,其特征在于,所述基于获取到的自定义变量以及引用变量,分别确定与每个引用变量匹配的自定义变量所在object文件为该引用变量的依赖文件,生成变量依赖关系包括:针对所述第三数据表中的每个引用变量,在所述第一数据表中查找与该引用变量相同的自定义变量;确定第一数据表中与该自定义变量对应的object文件为该引用变量所依赖的文件,生成变量依赖关系。4.根据权利要求2所述的方法,其特征在于,所述基于获取到的自定义函数以及引用函数,分别确定与每个引用函数匹配的自定义函数所在object文件为该引用函数的依赖文件,生成函数依赖关系包括:针对所述第三数据表中的每个引用函数,在所述第二数据表中查找与该引用函数相同的自定义函数;确定第二...
【专利技术属性】
技术研发人员:许晓梦,李峰,刘硕,何晓明,宋炳雨,
申请(专利权)人:潍柴动力股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。