信息处理方法、装置以及电子设备制造方法及图纸

技术编号:26969673 阅读:31 留言:0更新日期:2021-01-05 23:58
本申请公开了信息处理方法、装置以及电子设备,涉及软件开发技术领域。具体实现方案为:获取小程序的代码文件和所述小程序依赖的静态库的静态库信息;若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,其中,所述处理包括替换、删除或注释。由于上述过程中的匹配和处理过程由电子设备完成,可以快速解除代码文件与静态库之间的依赖,相比于人工检索,提高了处理效率,降低了人工成本。

【技术实现步骤摘要】
信息处理方法、装置以及电子设备
本公开涉及计算机
中的软件开发技术,尤其涉及一种信息处理方法、装置以及电子设备。
技术介绍
在项目开发过程中,会经常使用到静态库,当项目中集成了静态库后,代码会直接引用静态库的常量、类、类实例变量跟方法等,项目与静态库之间的依赖关系较强。
技术实现思路
本公开提供了一种信息处理方法、装置以及电子设备。根据本公开的第一方面,提供了一种信息处理方法,包括:获取小程序的代码文件和所述小程序依赖的静态库的静态库信息;若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,其中,所述处理包括替换、删除或注释,所述目标代码为所述代码文件中的一行或多行代码。根据本公开的第二方面,提供了一种信息处理方法,包括:获取模块,用于获取小程序的代码文件和所述小程序依赖的静态库的静态库信息;处理模块,用于若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,其中,所述处理包括替换、删除或注释,所述目标代码为所述代码文件中的一行或多行代码。根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面任一项所述的方法。根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面任一项所述的方法。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是本申请实施例提供的信息处理方法的流程图;图2是本申请实施例提供的信息处理装置的结构图;图3是用来实现本申请实施例的信息处理方法的电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。参见图1,图1是本申请实施例提供的信息处理方法的流程图,如图1所示,本实施例提供一种信息处理方法,应用于电子设备,包括以下步骤:步骤101、获取小程序的代码文件和所述小程序依赖的静态库的静态库信息。静态库信息可以包括静态库的类的类名、头文件的头文件名、协议名、函数名、宏定义的宏名和静态常量的常量名中的一个或多个等。可以利用脚本来列出静态库所有类的类名,以及类的方法变量名、协议名、静态变量名、头文件名、宏名等,并将获取的静态库信息缓存到一个依赖库文件中。小程序的代码文件可理解为小程序的实现代码文件,该代码文件采用编程语言实现,小程序的代码文件可为一个或多个,具体根据实际情况确定。若小程序的代码文件有多个,则分别对多个代码文件中的每一个代码文件应用本申请中的信息处理方法,来去除代码文件对静态库的依赖。步骤102、若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,其中,所述处理包括替换、删除或注释,所述目标代码为所述代码文件中的一行或多行代码。目标代码包括所述静态库信息可理解为,目标代码包括静态库信息中的一项或多项信息,例如,目标代码可包括静态库的类的类名、头文件的头文件名、协议名、函数名、宏定义的宏名和静态常量的常量名中的一项或多项信息。代码文件包括多行代码,在本申请中,可以对代码文件进行逐行遍历,依次确定每行代码或者连续多行代码是否与静态库信息匹配,也就是说,确定目标代码中的部分或全部代码是与静态库信息匹配,若匹配,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件。在本申请中,处理可以包括替换、删除或者注释,以解除目标代码与静态库之间的依赖。目标代码可以为代码文件中的一行代码或者连续多行代码。电子设备可以为手机、平板电脑、膝上型电脑、个人数字助理、移动上网装置或可穿戴式设备等。本实施例中,获取小程序的代码文件和所述小程序依赖的静态库的静态库信息;若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,其中,所述处理包括替换、删除或注释,所述目标代码为所述代码文件中的一行或多行代码,其中,所述处理包括替换、删除或注释,所述目标代码为所述代码文件中的一行或多行代码。由于上述过程中的匹配和处理过程由电子设备完成,可以快速解除代码文件与静态库之间的依赖,相比于人工检索,提高了处理效率,降低了人工成本。在本申请一个实施例中,步骤102,若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,包括:对目标代码进行词法分析和语法分析,获得分析结果;若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件。目标代码为代码文件中的一行代码或连续多行代码。本实施例中,在对目标代码进行分析时,模拟编译过程,对目标代码进行词法分析和语法分析,获得分析结果。再将分析结果与静态库信息进行匹配,若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件。本实施例中,通过对目标代码进行词法分析和语法分析,获得分析结果,再将分析结果与静态库信息进行匹配,若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件。通过模拟编译过程,对目标代码进行词法分析和语法分析,获得分析结果,然后将分析结果与静态库信息进行匹配,可以快速确定目标代码是否有包括静态库信息,可以快速解除代码文件与静态库之间的依赖,相比于人工检索,提高了处理效率,降低了人工成本。在本申请一个实施例中,若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,包括:在所述分析结果为所述目标代码包括继承类或者属性定义类的情况下,若根据所述分析结果确定的第一类名为所述静态库信息中的类名,则将所述目标代码中的第一类名本文档来自技高网...

【技术保护点】
1.一种信息处理方法,包括:/n获取小程序的代码文件和所述小程序依赖的静态库的静态库信息;/n若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件;/n其中,所述处理包括替换、删除或注释。/n

【技术特征摘要】
1.一种信息处理方法,包括:
获取小程序的代码文件和所述小程序依赖的静态库的静态库信息;
若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件;
其中,所述处理包括替换、删除或注释。


2.根据权利要求1所述的方法,其中,若所述代码文件的目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,包括:
对目标代码进行词法分析和语法分析,获得分析结果;
若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件。


3.根据权利要求2所述的方法,其中,若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,包括:
在所述分析结果为所述目标代码包括继承类或者属性定义类的情况下,若根据所述分析结果确定的第一类名为所述静态库信息中的类名,则将所述目标代码中的第一类名替换为目标基类的类名,获得与所述静态库解除依赖关系的新的代码文件;
其中,所述目标基类的类名为编写所述代码文件所采用的编程语言的基类的类名。


4.根据权利要求2所述的方法,其中,若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,包括:
在所述分析结果为所述目标代码包括头文件、函数声明、宏定义或者静态常量的情况下,若根据所述分析结果确定的所述头文件的头文件名、所述函数声明的函数名、所述宏定义的宏名或者所述静态常量的常量名为所述静态库信息中的信息,则对所述目标代码所在的行进行注释,获得与所述静态库解除依赖关系的新的代码文件。


5.根据权利要求2所述的方法,其中,若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,包括:
在所述分析结果为所述目标代码包括函数体,所述函数体的参数包括所述静态库信息中的第一目标信息的情况下,对所述目标代码的所述函数体进行注释,获得与所述静态库解除依赖关系的新的代码文件;
或者,
在所述分析结果为所述目标代码包括函数体,所述函数体包括所述静态库信息中的第二目标信息,且所述第二目标信息不属于所述函数体的参数的情况下,则对所述函数体中的所述第二目标信息进行注释,获得与所述静态库解除依赖关系的新的代码文件。


6.根据权利要求2所述的方法,其中,所述若根据所述分析结果确定所述目标代码包括所述静态库信息,则对所述代码文件中的所述目标代码进行处理,获得与所述静态库解除依赖关系的新的代码文件,包括:
在所述分析结果为所述目标代码包括多个协议名的情况下,若所述静态库信息包括所述多个协议名中的部分协议名,则将所述目标代码中的所述部分协议名删除,获得与所述静态库解除依赖关系的新的代码文件;
或者,
在所述分析结果包括至少一个协议名的情况下,若所述静态库信息包括所述至少一个协议名的所有协议名,则将所述目标代码中的所述至少一个协议名删除,且删除用于标记所述至少一个协议名的符号,获得与所述静态...

【专利技术属性】
技术研发人员:王晓红
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1