[发明专利]一种依赖关系检测方法、装置、电子设备及存储介质在审
申请号: | 202011043960.8 | 申请日: | 2020-09-28 |
公开(公告)号: | CN112230979A | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 邓竹立;彭飞 | 申请(专利权)人: | 北京五八信息技术有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吕俊秀 |
地址: | 100080 北京市海淀区学清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 依赖 关系 检测 方法 装置 电子设备 存储 介质 | ||
1.一种依赖关系检测方法,其特征在于,包括:
通过nm命令获取每个待检测文件的符号文本,所述待检测文件包括静态库、目标文件中的至少一种;
根据每个所述待检测文件的符号文本,获取每个所述待检测文件的内部符号表和外部符号表,所述内部符号表中包括所述待检测文件中的内部符号,所述外部符号表中包括所述待检测文件中的外部符号;
根据每个所述待检测文件的内部符号表和外部符号表,获取各个所述待检测文件之间的依赖关系。
2.根据权利要求1所述的方法,其特征在于,所述根据每个所述待检测文件的符号文本,获取每个所述待检测文件的内部符号表和外部符号表的步骤,包括:
在所述待检测文件为静态库的情况下,根据所述静态库的符号文本,生成所述静态库中包含的每个目标文件的内部符号表和外部符号表;
根据所述静态库中包含的每个目标文件的内部符号表和外部符号表,生成所述静态库的内部符号表和外部符号表;
在所述待检测文件为目标文件的情况下,根据所述目标文件的符号文本,生成所述目标文件的内部符号表和外部符号表。
3.根据权利要求2所述的方法,其特征在于,所述根据所述静态库的符号文本,生成所述静态库中包含的每个目标文件的内部符号表和外部符号表的步骤,包括:
查找所述符号文本中表征目标文件路径的文本行;
针对任一表征目标文件路径的文本行,获取所述文本行的下一行至下一表征目标文件路径的文本行或者所述符号文本的结束位置之间的符号文本段,作为所述文本行对应的目标文件的符号文本;
针对所述静态库中包含的任一目标文件,根据所述目标文件的符号文本,生成所述目标文件的内部符号表和外部符号表。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述目标文件的符号文本,生成所述目标文件的内部符号表和外部符号表的步骤,包括:
根据所述目标文件的符号文本,获取所述目标文件包含的符号,以及各个所述符号的符号类型;
获取符号类型为目标类型的符号,作为所述目标文件的外部符号,并基于所述目标文件的外部符号生成所述目标文件的外部符号表;
获取符号类型为其他类型的符号,作为所述目标文件的内部符号,并基于所述目标文件的内部符号生成所述目标文件的内部符号表,所述其他类型为除所述目标类型之外的其他符号类型。
5.根据权利要求3所述的方法,其特征在于,所述查找所述符号文本中表征目标文件路径的文本行的步骤,包括:
按行读取所述静态库的符号文本,获取所述符号文本中符合目标格式条件的文本行,作为表征目标文件路径的文本行。
6.根据权利要求2所述的方法,其特征在于,所述根据所述静态库中包含的每个目标文件的内部符号表和外部符号表,生成所述静态库的内部符号表和外部符号表的步骤,包括:
创建所述静态库内部符号表,并将所述静态库下所有目标文件的内部符号表整合存档到所述静态库的内部符号表中;
创建所述静态库外部符号表,并将所述静态库下所有目标文件的外部符号表整合存档到所述静态库的外部符号表中。
7.根据权利要求1所述的方法,其特征在于,所述根据每个所述待检测文件的符号文本,获取每个所述待检测文件的内部符号表和外部符号表的步骤,包括:
根据每个所述待检测文件的符号文本,获取每个所述待检测文件的内部符号表和初始的外部符号表;
针对任一待检测文件,获取同时存在于所述待检测文件的内部符号表和初始的外部符号表中的目标符号,并从所述初始的外部符号表中移除所述目标符号,得到所述待检测文件的外部符号表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京五八信息技术有限公司,未经北京五八信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011043960.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种资源分配方法和装置
- 下一篇:一种精米生产方法