【技术实现步骤摘要】
软件编译前处理方法、装置、设备和存储介质
[0001]本申请涉及软件工程
,具体而言,涉及一种软件编译前处理方法、装置、设备和存储介质。
技术介绍
[0002]大型软件在编译的过程中,如果软件中的不同的模块可能由于不同的外部提供商设计,所以,不同模块包含同一种外部链接库;但是链接库的版本号不同。因为链接库升级时,有的函数的内部参数发生变化,但是函数名称没有改变;所以软件在编译的过程中可能引发冲突,引发编译器报错,甚至软件崩溃,增加编译失败率,降低编译效率。
技术实现思路
[0003]本申请的主要目的在于提供一种软件编译前处理方法、装置、设备和存储介质,以解决上述问题。
[0004]为了实现上述目的,根据本申请的一个方面,提供了一种软件编译前处理方法,包括:
[0005]在软件进行编译之前,获取所述软件中的每个模块的函数名称列表;以及每个模块的链接库信息;其中,所述链接库信息包括:链接库的名称;以及版本信息;
[0006]对于任意的两个模块,获取第一模块的第一外部链接库的名称;r/>[0007]获本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种软件编译前处理方法,其特征在于,包括:在软件进行编译之前,获取所述软件中的每个模块的函数名称列表;以及每个模块的链接库信息;其中,所述链接库信息包括:链接库的名称;以及版本信息;对于任意的两个模块,获取第一模块的第一外部链接库的名称;获取第二模块的第二外部链接库的名称;判断所述第一外部链接库的名称与所述第二外部链接库的名称是否相同;如果是,则获取所述第一外部链接库的版本和第二外部链接库的版本;判断所述第一外部链接库的版本和第二外部链接库的版本是否相同;如果否,则检测所述第一外部链接库中的函数名称列表中的函数与所述第二外部链接库中的函数名称列表中的函数是否存在冲突;如果是,则按照预先设定的名称更改策略对函数名称进行更改。2.根据权利要求1所述的软件编译前处理方法,其特征在于,所述链接库为静态链接库;按照预先设定的名称更改策略对函数名称进行更改,包括:统计函数名称冲突的数量;如果所述函数名称冲突的数量大于等于预定的数量阈值,则批量对所述函数名称冲突的函数名称进行修改。3.根据权利要求2所述的软件编译前处理方法,其特征在于,如果所述函数名称冲突的数量小于预定的数量阈值,则依次对每个冲突的函数名称进行更改。4.根据权利要求1所述的软件编译前处理方法,其特征在于,如果所述链接库为动态库,则在编译的过程中,更改所述动态链接库中的函数名称的名称。5.根据权利要求3所述的软件编译前处理方法,其特征在于,所述对每个冲突的函数名称进行更改,包括:对所述冲突的函数名称添加预先设定的前缀字符,或者后缀字符。6.根据权利要求1所述的软件编译前处理方法,其特征在于,比较所述第一外部链接库中的函数名称列表中的函数与所述第二外部链接库中的函数名称列表中的函数是否有冲突,包括:对于第一外部链接库中的每个函...
【专利技术属性】
技术研发人员:孙欣,潘彦玮,王玉林,崔久强,
申请(专利权)人:上海市数字证书认证中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。