掌桥专利:专业的专利平台
掌桥专利
首页

一种提高C++项目编译速度的方法

文献发布时间:2023-06-19 11:29:13


一种提高C++项目编译速度的方法

技术领域

本发明涉及一种软件工程,具体涉及一种提高C++项目编译速度的方法。

背景技术

随着互联网行业的发展,各个企业的软件业务也愈发的复杂,随之而来的就是程序代码量的不断增长,C++语言项目的编译时间也在逐渐的变长,降低了研发人员的工作效率,拖慢了项目的开发周期。市面上也存在一些分布式编译技术可以将多台计算机的CPU联合起来编译,但是这样的方式会额外引入的成本,此类产品价格比较昂贵,也需要多台设备支持;现有的大型C++项目编译时间过长,严重浪费研发人员的开发效率和公司的生产力;市场上现有的分布式编译技术成本昂贵,需要部署多台设备。

发明内容

本发明所要解决的技术问题是通过项目结构分析,将CPP的内容整合到一起,大幅度减少磁盘中间文件的数量,提高磁盘IO利用率;节约了C++程序员从编码到测试的等待时间,大幅度提高工作效率;无需分布式部署,单机即可使用,降低部署成本;根据磁盘的读写速率的差别,100W行代码的C++项目编译时间能够缩短5-10倍;减少项目的研发周期,推动产品迅速升级迭代。

本发明提高C++项目编译速度的方法具体包括以下几个步骤:

S1、首先,用户在UI层上选择项目,开始对项目进行多项分析;

S2、项目分析结束后,再通过编辑器对其开始编译;

S3、编译结束后,编辑器生成可执行文件,再通过UI层展示结果。

作为优选的技术方案,项目分析以下几个步骤:

A1、分析CPP文件和.h文件的对应关系;

A2、修改工程配置,创建新的编辑文件,将原工程的CPP文件用include的方式添加到编辑文件中;

A3、修改工程配置文件,原有CPP编译文件不参与编译,改为编译程序新建的编译文件。

本发明的有益效果是:本发明通过项目结构分析,将CPP的内容整合到一起,大幅度减少磁盘中间文件的数量,提高磁盘IO利用率;节约了C++程序员从编码到测试的等待时间,大幅度提高工作效率;无需分布式部署,单机即可使用,降低部署成本;根据磁盘的读写速率的差别,100W行代码的C++项目编译时间能够缩短5-10倍;减少项目的研发周期,推动产品迅速升级迭代。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的流程图;

图2为本发明的框架图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

在本发明的描述中,需要理解的是,术语“一端”、“另一端”、“外侧”、“上”、“内侧”、“水平”、“同轴”、“中央”、“端部”、“长度”、“外端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

本发明使用的例如“上”、“上方”、“下”、“下方”等表示空间相对位置的术语是出于便于说明的目的来描述如附图中所示的一个单元或特征相对于另一个单元或特征的关系。空间相对位置的术语可以旨在包括设备在使用或工作中除了图中所示方位以外的不同方位。例如,如果将图中的设备翻转,则被描述为位于其他单元或特征“下方”或“之下”的单元将位于其他单元或特征“上方”。因此,示例性术语“下方”可以囊括上方和下方这两种方位。设备可以以其他方式被定向,并相应地解释本文使用的与空间相关的描述语。

在本发明中,除非另有明确的规定和限定,术语“设置”、“套接”、“连接”、“贯穿”、“插接”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

如图1所示,本发明的一种提高C++项目编译速度的方法,具体包括以下几个步骤:

S1、首先,用户在UI层上选择项目,开始对项目进行多项分析;

S2、项目分析结束后,再通过编辑器对其开始编译;

S3、编译结束后,编辑器生成可执行文件,再通过UI层展示结果。

本实施例中,项目分析以下几个步骤:

A1、分析CPP文件和.h文件的对应关系;

A2、修改工程配置,创建新的编辑文件,将原工程的CPP文件用include的方式添加到编辑文件中;

A3、修改工程配置文件,原有CPP编译文件不参与编译,改为编译程序新建的编译文件。

如图2所示,UI层提供一个GUI界面供用户去选择工程的文件夹位置,以及编译后的输出位置;然后通过语法分析模块和项目结构分析模块对项目结构进行调整,并生成编译所需的临时文件,最后调用平台对应的编译器开始编译。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

相关技术
  • 一种提高C++项目编译速度的方法
  • 一种提高应用反编译速度的方法、智能终端及存储介质
技术分类

06120112942390