【技术实现步骤摘要】
条件编译实现方法、装置、介质及设备
[0001]本申请涉及计算机
,尤其是涉及到一种条件编译实现方法、装置、介质及设备。
技术介绍
[0002]一般情况下,源程序中的每一行代码都要参加编译,但有时出于对程序代码优化的考虑,希望只对其中一部分内容进行编译,此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译(conditional compile)。可见,条件编译是根据不同情况编译不同代码、产生不同目标文件的机制,条件编译可以使得程序更加容易移植,例如通过条件编译实现适用于多个客户端(APP或小程序)的多端代码。本领域技术人员发现,如何优化条件编译实现方案,从而提高多端代码适配各个客户端的效率,是需要解决的一个技术问题。
技术实现思路
[0003]有鉴于此,本申请提供了一种条件编译实现方法、装置、介质及电子设备,主要目的在于通过优化条件编译实现方法,提高多端代码适配各个客户端的效率。
[0004]依据本申请的一个方面,提供了一种条件编译实现方法,针 ...
【技术保护点】
【技术特征摘要】
1.一种条件编译实现方法,其特征在于,针对应用于不同客户端的多端代码,确定在客户端之间的条件编译策略,所述方法包括:分析各客户端所执行的代码逻辑和/或代码流程的差异性,根据差异性分析结果,确定对应的条件编译策略;其中,若所述差异性分析结果符合预设的第一差异结果,所述第一差异结果为各客户端代码差异小于或等于预设的最小差异阈值,确定所述条件编译策略为基于代码维度的条件编译;若所述差异性分析结果符合预设的第二差异结果,所述第二差异结果为各客户端代码差异大于预设的最大差异阈值,确定所述条件编译策略为基于文件维度的条件编译。2.根据权利要求1所述的方法,其特征在于,还包括实现所述基于代码维度的条件编译,包括:确定代码维度条件编译语法,并编写代码维度条件编译的正则表达式,所述正则表达式包括所述代码维度条件编译语法的命中规则;以所述代码维度条件编译语法编写注释语句,并插入至所述多端代码中;针对当前客户端,在所述多端代码运行过程中,依据所述注释语句确定是否命中所述正则表达式,并执行命中所述正则表达式的条件编译代码。3.根据权利要求2所述的方法,其特征在于,所述编写代码维度条件编译的正则表达式,包括:确定支持代码维度条件编译的文件类型;针对不同文件类型,分别设置所述代码维度条件编译语法的命中规则,并集合所有文件类型的命中规则,构成所述正则表达式。4.根据权利要求3所述的方法,其特征在于,所述确定支持代码维度条件编译的文件类型,包括:确定所述多端代码的领域特定语言所支持的文件类型;基于所述多端代码的领域特定语言所支持的文件类型,确定出支持注释语句的文件类型以及不支持注释语句的文件类型;对所述不支持注释语句的文件类型进行扩展,得到扩展后支持注释语句的文件类型;集合所有支持注释语句的文件类型为所述支持代码维度条件编译的文件类型。5.根据权利要求2所述的方法,其特征在于,所述以所述代码维度条件编译语法编写注释语句,包括:声明用...
【专利技术属性】
技术研发人员:刘宇,刘智康,
申请(专利权)人:拉扎斯网络科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。