一种数据处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38325630 阅读:23 留言:0更新日期:2023-07-29 09:08
本发明专利技术提供了一种数据处理方法、装置、电子设备及存储介质。获取目标项目对应的多个当前动态库中的各个当前动态库的可执行文件。对于任意一个当前动态库,在该当前动态库的可执行文件中获取该当前动态库的符号表,根据各个符号的类型,在符号表包括的符号中筛选目标符号。在各个当前动态库中的符号表中的目标符号中查找到相同的目标符号的情况下,确定存在符号冲突。通过本申请,在目标项目对应的动态库是编译后的文件的情况下,能够快速且准确检测目标项目对应的任意两个动态库中是否存在类的类名相同且相同的类名对应的类中的函数的函数名相同的情况。函数名相同的情况。函数名相同的情况。

【技术实现步骤摘要】
一种数据处理方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种数据处理方法、装置、电子设备及存储介质。

技术介绍

[0002]随着技术的飞速发展,应用程序在人们的生活和工作中愈发重要,厂商为了更好地服务广大用户,往往会开发具有各种功能的应用程序。
[0003]例如,开发人员可以在集成开发工具中开发应用程序的计算机程序代码,并对开发的应用程序的计算机程序代码编译,得到应用程序的安装包,然后对外发布应用程序的安装包,以供广大用户下载应用程序的安装包,并基于应用程序的安装包在自己的设备中安装应用程序,进而可以使用应用程序。

技术实现思路

[0004]本申请示出了一种数据处理方法、装置、电子设备及存储介质。
[0005]第一方面,本申请示出了一种数据处理方法,所述方法应用于电子设备,所述方法包括:
[0006]获取目标项目对应的多个当前动态库中的各个当前动态库的可执行文件;
[0007]对于所述多个当前动态库中的任意一个所述当前动态库,在所述当前动态库的可执行文件中获取本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法应用于电子设备,所述方法包括:获取目标项目对应的多个当前动态库中的各个当前动态库的可执行文件;对于所述多个当前动态库中的任意一个所述当前动态库,在所述当前动态库的可执行文件中获取所述当前动态库的符号表,所述当前动态库中的符号表中包括至少一个符号以及各个符号的类型,符号包括至少由在所述当前动态库中使用到的函数的函数名以及所述使用到的函数所在的类的类名组成的字符串;根据各个符号的类型,在所述符号表包括的符号中筛选目标符号,所述目标符号中的类名对应的类是在所述当前动态库中定义的类,且所述目标符号中的函数名对应的函数是在所述当前动态库中定义的函数;在所述多个当前动态库中的各个当前动态库中的符号表中的目标符号中查找相同的目标符号;在各个当前动态库中的符号表中的目标符号中查找到相同的目标符号的情况下,确定存在符号冲突。2.根据权利要求1所述的方法,其特征在于,所述根据各个符号的类型,在所述符号表包括的符号中筛选目标符号,包括:对于所述符号表中的任意一个符号,确定所述符号的类型是否为预设类型,所述预设类型至少包括:N_ABS(0x2)、N_SECT(0xe)、N_INDR(0xa)以及N_EXT(0x01);在所述符号的类型为预设类型的情况下,确定所述符号为所述目标符号。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在各个当前动态库中的符号表中的目标符号中查找到相同的目标符号的情况下,输出提示信息,所述提示信息用于提示所述多个当前动态库中存在包括的函数的函数名相同且函数所在的类的类名相同的情况;其中,所述提示信息中包括:所述相同的目标符号各自所在符号表所属的当前动态库的库名以及所述相同的目标符号中的类名和函数名。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:对于存在符号冲突的任意一个当前动态库,向所述当前动态库的开发端发送修改提示信息,所述修改提示信息至少携带所述目标符号,所述修改提示信息用于提示修改所述当前动态库中出现的类名和/或出现的函数名,所述出现的类名包括所述目标符号中的类名,所述出现的函数名包括所述目标符号中的函数名;以使所述开发端获取所述当前动态库的当前源代码,查找所述当前源代码中所述出现的类名和/或所述出现的函数名,将所述当前源代码中的所述出现的类名修改为新类名和/或将所述当前源代码中的所述出现的函数名修改为新函数名,得到所述当前动态库的新源代码,对所述新源代码编译,得到所述当前动态库对应的新动态库,并向所述电子设备返回所述新动态库;接收所述开发端返回的所述新动态库;在所述目标项目对应的多个当前动态库中使用所述新动态库替换所述当前动态库。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:对于存在符号冲突的任意一个当前动态库,获取所述当前动态库的当前源代码;查找所述当前源代码中出现的类名和/或出现的函数名,所述出现的类名包括所述目标符号中的类名,所述出现的函数名包括所述目标符号中的函数名;
将所述当前源代码中的所述出现的类名修改为新类名和/或将所述当前源代码中的所述出现的函数名修改为新函数名,得到所述当前动态库的新源代码;对所述新源代码编译,得到所述当前动态库对应的新动态库;在所述目标项目对应的多个当前动态库中使用所述新动态库替换所述当前动态库。6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:获取所述目标项目对应的源代码;查找所述目标项目对应的源代码中出现的类名和/或出现的函数名,所述出现的类名包括所述目标符号中的类名,所述出现的函数名包括所述目标符号中的函数名;将所述目标项目对应的源代码中的所述出现的类名修改为新类名和/或将所述目标项目对应的源代码中的所述出现的函数名修改为新函数名,得到所述目标项目对应的新源代码。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:对所述目标项目对应的新源代码编译,得到所述目标项目对应的可执行文件。8.一种数据处理装置,其特征在于,所述装置应用于电子设备,所述装置包括:第一获取模块,用于获取目标项目对应的多个当前动态库中的各个当前动态库的可执行文件;第二获取模块,用于对于所述多个当前动态库中的任意一个所述当前动态库,在所述当前动态库的可执行文件中获取所述当前动态库的符号表,所述当前动态库中的符号表中包括至少一个符号以及...

【专利技术属性】
技术研发人员:朴惠姝彭飞刘孟
申请(专利权)人:五八同城信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1