[发明专利]编译方法、编译装置、电子设备、存储介质和程序产品有效
申请号: | 202110309279.1 | 申请日: | 2021-03-23 |
公开(公告)号: | CN113031961B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 武桓州;王欢;周威;骆涛;蓝翔 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 赵林琳;辛鸣 |
地址: | 100094 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 方法 装置 电子设备 存储 介质 程序 产品 | ||
本公开提供了一种编译方法、编译装置、电子设备、存储介质和程序产品,可以用于源文件编译领域和深度学习领域等领域中。该方法包括:获取源文件集合,源文件集合包括相同类型的源文件;基于与源文件集合相关联的预定组合规则,将源文件集合中的多个源文件组合成至少一个源文件子集;以及对每个源文件子集作为整体进行编译。利用上述方法,可以通过减少针对源文件编译次数来有效提高编译效率和降低编译耗时,从而能够提升用户体验。
技术领域
本公开涉及计算机技术,并且更具体地,涉及编译方法、编译装置、电子设备、计算机可读存储介质和计算机程序产品,可以用于源文件编译领域和深度学习领域等领域中。
背景技术
C++语言是一种静态类型语言,C++语言的例如格式为.CC的源文件需要通过编译生成二进制文件才能运行或者被使用。当对C++语言的源文件进行编译时,每个源文件被视为一个编译单元而由编译器进行编译,针对每个编译单元生成一个目标文件,最后由链接器链接为二进制产物。在编译过程中,主要耗时在于由编译器对编译单元进行编译来得到目标文件的过程。一般来说,编译单元的数量与项目中源文件的数量一致。在大型项目中,编译单元往往可以达到上千个甚至更多。针对每个编译单元都需要启动编译器、读取磁盘上的源文件及依赖文件并且将通过编译得到的目标文件写入磁盘。在最终链接目标文件的时候,链接器也需要再从磁盘读取针对每个编译单元生成的目标文件。因此,编译单元过多往往使得启动编译器以及读写磁盘的耗时累加增多,从而导致编译中的冗余耗时。类似地,针对CUDA的源文件的编译也存在前述问题。
然而,传统的用于源文件编译的技术要么需要针对每个源文件分别进行编译,要么仅能非常粗糙地将部分源文件合并而后进行编译,从而导致针对项目所需的编译次数较大,不仅无法适用于源文件较多的大型项目,而且当源文件增加或减少时也会出现异常,因此难以满足用户的需求。
发明内容
根据本公开的实施例,提供了一种编译方法、编译装置、电子设备、计算机可读存储介质和计算机程序产品。
在本公开的第一方面中,提供了一种编译方法,包括:获取源文件集合,源文件集合包括相同类型的源文件;基于与源文件集合相关联的预定组合规则,将源文件集合中的多个源文件组合成至少一个源文件子集;以及对每个源文件子集作为整体进行编译。
在本公开的第二方面中,提供了一种编译装置,包括:获取模块,被配置为获取源文件集合,源文件集合包括相同类型的源文件;第一组合模块,被配置为基于与源文件集合相关联的预定组合规则,将源文件集合中的多个源文件组合成至少一个源文件子集;以及第一编译模块,被配置为对每个源文件子集作为整体进行编译。
在本公开的第三方面中,提供了一种电子设备,包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够实现根据本公开的第一方面的方法。
在本公开的第四方面中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机实现根据本公开的第一方面的方法。
在本公开的第五方面中,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时,执行根据本公开的第一方面的方法。
利用根据本申请的技术,提供了一种编译方法,利用该方法的技术方案,可以按照预定组合规则对包括多个源文件的项目中的源文件进行组合,而后进行编译,从而可以通过减少编译次数来有效提高编译效率,降低编译耗时。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110309279.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种仿真测试的方法及装置
- 下一篇:一种拆除贝雷梁支架的反向吊落系统及方法