[发明专利]条件编译的实现方法、装置、设备及存储介质有效
申请号: | 202110315401.6 | 申请日: | 2021-03-24 |
公开(公告)号: | CN113031963B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 刘丰恺 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 祝乐芳 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 条件 编译 实现 方法 装置 设备 存储 介质 | ||
本公开实施例涉及一种条件编译的实现方法、装置、设备及存储介质,通过对项目的Dart代码进行编译,在编译到用于导入非本地库文件的导入语句时,获取导入语句中的导入条件的信息,并从预先得到的该Dart代码中的条件的赋值中查找获得该导入条件的赋值,当该导入条件的赋值符合预设条件时,将该导入条件的赋值符合预设条件时指向的非本地库文件导入该Dart代码中进行编译,从而实现了基于Dart编程语言的条件编译,使得Dart编译可以导入非本地库文件进行编译,提高了Dart编程的灵活性,降低了Dart技术应用的局限。
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种条件编译的实现方法、装置、设备及存储介质。
背景技术
相关技术中Dart是一种常用的计算机编程语言。在对Dart代码进行编译时,Dart编译器仅能对代码中涉及的本地的库文件进行检测和判断,尚不支持条件编译,不能通过条件编译引入非本地的库文件,这极大的限制了Dart编程的灵活性和Dart技术的应用。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种条件编译的实现方法、装置、设备及存储介质。
本公开实施例的第一方面提供了一种条件编译的实现方法,该方法包括:
对项目的Dart代码进行编译,该Dart代码包括用于导入非本地的库文件的导入语句;在编译到所述导入语句时,获取所述导入语句中的导入条件的信息;从预先得到的所述Dart代码中的条件的赋值中查找所述导入条件的赋值;若所述导入条件的赋值符合预设条件,则将所述导入条件符合所述预设条件时指向的非本地的库文件导入所述Dart代码进行编译。
在一种实施方式中,所述获取所述导入语句中的导入条件的信息,包括:
获取所述导入语句中的以预设字符串开头的导入条件。
在一种实施方式中,所述从预先得到的所述Dart代码中的条件的赋值中查找所述导入条件的赋值之前,所述方法包括:
从预先得到的所述项目的配置文件中读取所述Dart代码中的条件的赋值。
在一种实施方式中,所述从预先得到的所述Dart代码中的条件的赋值中查找所述导入条件的赋值之前,所述方法包括:
向用户显示命令输入界面;获取所述用户在所述命令输入界面上配置的所述Dart代码中的条件的赋值。
在一种实施方式中,所述获取所述用户在所述命令输入界面上配置的所述Dart代码中的条件的赋值之后,所述方法还包括:
将从所述命令输入界面上获取到的所述条件的赋值更新到所述项目的配置文件中。
本公开实施例的第二方面提供了一种编译装置,该装置包括:
编译模块,用于对项目的Dart代码进行编译,所述Dart代码包括用于导入非本地的库文件的导入语句;
第一获取模块,用于在编译到所述导入语句时,获取所述导入语句中的导入条件的信息;
查找模块,用于从预先得到的所述Dart代码中的条件的赋值中查找所述导入条件的赋值;
导入模块,用于在所述导入条件的赋值符合预设条件时,将所述导入条件符合所述预设条件时指向的非本地的库文件导入所述Dart代码进行编译。
在一种实施方式中,所述第一获取模块,可以用于:
获取所述导入语句中的以预设字符串开头的导入条件。
在一种实施方式中,所述编译装置还包括:
第二获取模块,用于从预先得到的所述项目的配置文件中读取所述Dart代码中的条件的赋值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110315401.6/2.html,转载请声明来源钻瓜专利网。