[发明专利]快速编译工程代码的方法在审

专利信息
申请号: 202211038837.6 申请日: 2022-08-29
公开(公告)号: CN115437640A 公开(公告)日: 2022-12-06
发明(设计)人: 朱进;杨凯;刘继明;金宁;刘松 申请(专利权)人: 网经科技(苏州)有限公司
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 江苏圣典律师事务所 32237 代理人: 王玉国
地址: 215021 江苏省苏州市工*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 快速 编译 工程 代码 方法
【说明书】:

发明涉及快速编译工程代码的方法,提取工程所有Makefile文件,解析出编译目标target和依赖目标,生成target依赖关系文件;依据target依赖关系文件解析和计算出每个target的编译依赖深度;依据计算的target编译依赖深度结果利用多线程并发编译多个target。基于工程Makefile文件解析和运用多线程技术实现工程代码编译时间大幅降低,采用多线程技术充分发挥编译服务器的性能,充分利用CPU资源,并发编译多个target,极大的缩减了编译整个工程代码的时间,高效的完成全工程编译。

技术领域

本发明涉及一种快速编译工程代码的方法。

背景技术

目前,嵌入式软件发展迅速,以政企网关设备为例,客户需求越来越多,进而设备所需的功能模块越来越多,导致工程代码日渐庞大,传统的编译方法为直接添加新target,整个工程target按顺序执行,从而编译时间会逐步变长,极大的影响了开发效率;并且当前编译服务器的CPU都是多核的,按传统的编译方法,如果单个target本身无法支持多核同时编译,则编译服务器的资源会极大的浪费,因此充分利用编译服务器性能快速高效的编译工程代码成为一个切实的需求。

发明内容

本发明的目的是克服现有技术存在的不足,提供一种快速编译工程代码的方法。

本发明的目的通过以下技术方案来实现:

快速编译工程代码的方法,特点是:对拥有多target的工程代码的Makefile文件解析提取出target和对应依赖,利用多线程并发编译多个target,包括以下步骤:

1)提取工程所有Makefile文件,解析出编译目标target和依赖目标,生成target依赖关系文件;

2)依据target依赖关系文件解析和计算出每个target的编译依赖深度;

3)依据计算的target编译依赖深度结果利用多线程并发编译多个target。

进一步地,上述的快速编译工程代码的方法,其中,所述步骤1),target依赖文件格式定义如下:

targetA=空

targetB=空

targetC=targetA,targetB

targetA、targetB和targetC为工程待编译目标,targetA无依赖,targetB无依赖,targetC依赖targetA和targetB,故targetA和targetB是targetC的依赖,多个依赖以逗号分隔。

进一步地,上述的快速编译工程代码的方法,其中,所述步骤2),依据target依赖关系文件解析和计算出每个target的编译依赖深度,步骤如下:

S21)依据target依赖文件解析出所有target进行保存,存储结构为Hash链表;

S22)依据target依赖文件解析出所有target的依赖进行保存,存储结构为字符串数组;

S23)target校验,剔除相同的target依赖记录;

S24)遍历步骤S21)中生成的Hash链表,若target对应的依赖为空,则依赖深度为1,若target有对应依赖,则依赖深度+1,将依赖当作target递归计算,得到最终依赖深度,相同依赖深度的target存储到同一链表,最终生成多条依赖深度不同的链表。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网经科技(苏州)有限公司,未经网经科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211038837.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top