System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及项目编译预处理,具体涉及一种基于python的项目编译预处理方法、装置、设备及介质。
技术介绍
1、随着一个项目的发展,项目功能会出现多样化和差分化的分支,基础或者整体功能类似,但在细节上有不同情况的存在,c/c++语言中提供的编译预处理虽然能处理二进制进程中的细节差分,但项目整体也包含了脚本、页面、样式等文本文件;而目前市面上暂无相关技术针对该类情况进行编译预处理差分情况,即目前缺少针对脚本、页面、样式等文本文件的编译预处理方案;进而导致了在对该类情况处理上通常是另外创建一个文件进行覆盖或者在功能脚本中使用大量判断进行处理,这种处理方式不仅低效不易于管理,并且在运行中也影响效率。简单来说,现有的处理方法存在项目管理低效,且更新时需要同时更新数个差分文件,可能导致代码不同步,或者在脚本中添加大量无意义判断进行功能差分导致运行效率低下,随项目庞大,后期维护和更新成本巨大的问题。
2、有鉴于此,提出本申请。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种基于python的项目编译预处理方法、装置、设备及介质,能够有效解决现有技术中的项目管理方法存在低效,且更新时需要同时更新数个差分文件,可能导致代码不同步,或者在脚本中添加大量无意义判断进行功能差分导致运行效率低下,随项目庞大,后期维护和更新成本巨大的问题。
2、本专利技术公开了一种基于python的项目编译预处理方法,包括:
3、进行主项目编译处理,并根据预设的情况,生成复数
4、编译各个功能项,获取待进行预处理的文件列表;
5、加载所述宏定义,并根据所述宏定义对所述文件列表进行预处理操作,生成结果文件;
6、对其余代码进行编译处理,结束编译流程。
7、优选地,加载所述宏定义,并根据所述宏定义对所述文件列表进行预处理操作,生成结果文件,具体为:
8、对所述文件列表进行判断处理,生成判断结果,其中,所述判断结果包括为空结果和不为空结果;
9、根据所述判断结果对所述文件列表进行循环处理,生成循环结果,其中,所述循环结果包括存在和不存在;
10、当判断到所述循环结果为存在时,加载所述宏定义,读取此次循环中的所述文件列表的文本,根据所述宏定义和预设的规则对所述文件列表进行处理,删除掉所述文件列表中与所述宏定义和预设的规则无关的文本,生成结果文件。
11、优选地,对所述文件列表进行判断处理,生成判断结果,其中,所述判断结果包括为空结果和不为空结果,具体为:
12、判断所述文件列表是否为空;
13、若是,结束进程;
14、若否,对所述文件列表进行循环处理。
15、优选地,根据所述判断结果对所述文件列表进行循环处理,生成循环结果,其中,所述循环结果包括存在和不存在,具体为:
16、对所述文件列表进行循环处理,并判断所述文件列表中的文件是否存在;
17、若否,继续循环所述文件列表,判断所述文件列表中的下一个文件;
18、若是,传入所述宏定义,读取文件,根据宏和预设的规则删除无关文本,输出结果文件,并继续循环所述文件列表,判断所述文件列表中的下一个文件。
19、本专利技术还公开了一种基于python的项目编译预处理装置,包括:
20、宏定义单元,用于进行主项目编译处理,并根据预设的情况,生成复数需求的宏定义;
21、第一编译单元,用于编译各个功能项,获取待进行预处理的文件列表;
22、预处理单元,用于加载所述宏定义,并根据所述宏定义对所述文件列表进行预处理操作,生成结果文件;
23、第二编译单元,用于对其余代码进行编译处理,结束编译流程。
24、优选地,所述预处理单元具体用于:
25、对所述文件列表进行判断处理,生成判断结果,其中,所述判断结果包括为空结果和不为空结果;
26、根据所述判断结果对所述文件列表进行循环处理,生成循环结果,其中,所述循环结果包括存在和不存在;
27、当判断到所述循环结果为存在时,加载所述宏定义,读取此次循环中的所述文件列表的文本,根据所述宏定义和预设的规则对所述文件列表进行处理,删除掉所述文件列表中与所述宏定义和预设的规则无关的文本,生成结果文件。
28、本专利技术还公开了一种基于python的项目编译预处理设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任意一项所述的一种基于python的项目编译预处理方法。
29、本专利技术还公开了一种可读存储介质,存储有计算机程序,所述计算机程序能够被该存储介质所在设备的处理器执行,以实现如上任意一项所述的一种基于python的项目编译预处理方法。
30、综上所述,本实施例提供的一种基于python的项目编译预处理方法、装置、设备及介质,基于python,在编译前对文本文件进行预处理,实现c/c++的编译预处理方案,在避免在文本差分的情况下差分出数个不同的文本情况,可以在同一个文本中添加宏定义对部分文本进行差分,而不影响整体功能,易于后期更新和维护情况,且在脚本中添加宏,在编译时就会将无关代码进行删除屏蔽,避免脚本实际运行时的无效差分判断占用的资源,从而提供运行效率。从而解决现有技术中的项目管理方法存在低效,且更新时需要同时更新数个差分文件,可能导致代码不同步,或者在脚本中添加大量无意义判断进行功能差分导致运行效率低下,随项目庞大,后期维护和更新成本巨大的问题。
本文档来自技高网...【技术保护点】
1.一种基于python的项目编译预处理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于python的项目编译预处理方法,其特征在于,加载所述宏定义,并根据所述宏定义对所述文件列表进行预处理操作,生成结果文件,具体为:
3.根据权利要求2所述的一种基于python的项目编译预处理方法,其特征在于,对所述文件列表进行判断处理,生成判断结果,其中,所述判断结果包括为空结果和不为空结果,具体为:
4.根据权利要求2所述的一种基于python的项目编译预处理方法,其特征在于,根据所述判断结果对所述文件列表进行循环处理,生成循环结果,其中,所述循环结果包括存在和不存在,具体为:
5.一种基于python的项目编译预处理装置,其特征在于,包括:
6.根据权利要求6所述的一种基于python的项目编译预处理装置,其特征在于,所述预处理单元具体用于:
7.一种基于python的项目编译预处理设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时
8.一种可读存储介质,其特征在于,存储有计算机程序,所述计算机程序能够被该存储介质所在设备的处理器执行,以实现如权利要求1至4任意一项所述的一种基于python的项目编译预处理方法。
...【技术特征摘要】
1.一种基于python的项目编译预处理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于python的项目编译预处理方法,其特征在于,加载所述宏定义,并根据所述宏定义对所述文件列表进行预处理操作,生成结果文件,具体为:
3.根据权利要求2所述的一种基于python的项目编译预处理方法,其特征在于,对所述文件列表进行判断处理,生成判断结果,其中,所述判断结果包括为空结果和不为空结果,具体为:
4.根据权利要求2所述的一种基于python的项目编译预处理方法,其特征在于,根据所述判断结果对所述文件列表进行循环处理,生成循环结果,其中,所述循环结果包括存在和不存在,具体为:
...
【专利技术属性】
技术研发人员:唐仕斌,薛宇靖,邱梓捷,胡传高,
申请(专利权)人:厦门四信通信科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。