[发明专利]编译方法、编译装置、电子设备、存储介质和程序产品有效
申请号: | 202110309347.4 | 申请日: | 2021-03-23 |
公开(公告)号: | CN113031962B | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 武桓州;王欢;周威;骆涛;蓝翔 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N20/00 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 赵林琳;辛鸣 |
地址: | 100094 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 方法 装置 电子设备 存储 介质 程序 产品 | ||
1.一种编译方法,包括:
获取源文件集合,所述源文件集合包括至少一种类型的源文件;
获取与所述源文件集合相关联的对象集合的目录集合;
针对所述目录集合中的第一目录,基于所述第一目录包括与第一类型的源文件相关联的第一对象集合,将与所述第一对象集合相关联的所述第一类型的源文件组合成第一源文件子集;以及
对所述第一源文件子集作为整体进行编译。
2.根据权利要求1所述的方法,其中获取所述目录集合包括:
基于构建系统的配置文件来获取所述目录集合。
3.根据权利要求1所述的方法,其中所述第一类型的源文件包括CUDA类型的源文件。
4.根据权利要求3所述的方法,其中将与所述第一对象集合相关联的源文件组合成第一源文件子集包括:
使用include方式与所述第一对象集合相关联的所述源文件组合成所述第一源文件子集。
5.根据权利要求1所述的方法,其中将与所述第一对象集合相关联的源文件组合成第一源文件子集包括:
基于确定对所述第一源文件子集进行组合编译将不产生冲突,来将与所述第一对象集合相关联的所述源文件组合成所述第一源文件子集。
6.根据权利要求5所述的方法,其中所述冲突包括命名冲突。
7.根据权利要求1所述的方法,其中将与所述第一对象集合相关联的源文件组合成第一源文件子集包括:
基于确定对所述第一源文件子集进行组合编译产生冲突,确定所述第一源文件子集中的、产生所述冲突的源文件;以及
基于所述冲突的原因,向所述源文件添加以下之一:
前预处理宏;以及
后预处理宏。
8.根据权利要求1所述的方法,其中将与所述第一对象集合相关联的源文件组合成第一源文件子集包括:
基于确定对所述第一源文件子集进行组合编译产生冲突,确定所述第一源文件子集中的、产生所述冲突的源文件;
从所述第一源文件子集移除产生所述冲突的所述源文件;并且
对所述第一源文件子集作为整体进行编译包括:
对移除了产生所述冲突的所述源文件的所述第一源文件子集作为整体进行编译。
9.根据权利要求1所述的方法,其中所述第一目录是所述目录集合中的最末端的目录。
10.根据权利要求1所述的方法,还包括:
针对所述目录集合中的第二目录,基于所述第二目录包括与所述第一类型的源文件相关联的第二对象集合,将与所述第二对象集合相关联的源文件组合成第二源文件子集;并且
对所述第一源文件子集作为整体进行编译包括:
将所述第一源文件子集和所述第二源文件子集组合成第三源文件子集;以及
对所述第三源文件子集作为整体进行编译。
11.根据权利要求10所述的方法,其中所述第一目录和所述第二目录之间的关系包括以下之一:
所述第一目录被嵌套在所述第二目录中;以及
所述第一目录与所述第二目录并列。
12.一种编译装置,包括:
源文件获取模块,被配置为获取源文件集合,所述源文件集合包括至少一种类型的源文件;
第一目录集合获取模块,被配置为与所述源文件集合相关联的对象集合的目录集合;
第一组合模块,被配置为针对所述目录集合中的第一目录,基于所述第一目录包括与第一类型的源文件相关联的第一对象集合,将与所述第一对象集合相关联的所述第一类型的源文件组合成第一源文件子集;以及
第一编译模块,被配置为对所述第一源文件子集作为整体进行编译。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110309347.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无人帆船能量管理系统
- 下一篇:一种自由基聚合无溶剂制备聚乳酸微球的方法