CN109992257B - 一种自动编译库的方法 - Google Patents

一种自动编译库的方法 Download PDF

Info

Publication number
CN109992257B
CN109992257B CN201910243781.XA CN201910243781A CN109992257B CN 109992257 B CN109992257 B CN 109992257B CN 201910243781 A CN201910243781 A CN 201910243781A CN 109992257 B CN109992257 B CN 109992257B
Authority
CN
China
Prior art keywords
library
variable
automatically
project
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910243781.XA
Other languages
English (en)
Other versions
CN109992257A (zh
Inventor
陈家明
程招招
罗侍田
古小健
王建忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Chuanglian Times Technology Co ltd
Original Assignee
Shenzhen Chuanglian Times Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Chuanglian Times Technology Co ltd filed Critical Shenzhen Chuanglian Times Technology Co ltd
Priority to CN201910243781.XA priority Critical patent/CN109992257B/zh
Publication of CN109992257A publication Critical patent/CN109992257A/zh
Application granted granted Critical
Publication of CN109992257B publication Critical patent/CN109992257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种自动编译库的方法,具体包括以下步骤:步骤a1、用户在打开IDE时,通过勾选新建工程/导入工程后编译库,对第一变量和第二变量进行赋值;步骤a2、在用户新建工程后,系统根据第一变量的值判定是否自动编译库;步骤a3、在用户导入工程后,系统根据第二变量的值判定是否自动编译库;在步骤a1至步骤a3中,还同时包括以下过程:步骤a4、系统会在IDE启动后持续监测源码的变化,并判断此变化是否影响到库,并将受影响的库进行自动编译。本发明的有益效果是:提高了软件开发的自动化水平,用户可以选择性地在新建工程或者导入工程后自动编译库,系统在修改源码并保存后会自动判断哪些库收到影响,并将这些库进行重新编译。

Description

一种自动编译库的方法
技术领域
本发明涉及嵌入式系统软件开发技术领域,特别涉及一种自动编译库的方法。
背景技术
在当前市面上的开发工具中,控制工程的编译过程,都是通过用户手动点击编译的按钮触发的事件,获取当前的编译选项,通过选项的配置进行工程的编译。传统的IDE(集成开发环境,Integrated Development Environment是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具)都提供了一个触发编译的接口,但前提都需要用户在IDE窗口界面上有触发的事件,才能进行编译,也就是被动地编译,这样的被动编译经常不能满足用户的需求。例如,当用户创建一个新工程后、导入一个旧工程后、源码发生修改后,这些频繁的动作都需要去编译库或者重新编译库,这也就要求用户经常去手动编译库。当用户忘记手动编译库而直接编译工程的时候,IDE就会报错,又需要重新执行一次前述的操作,可能会大大延长开发人员的开发时间。由此可见,现目前的编译方式不灵活、不能进行自动编译,需要开发人员较高的专业水平。
发明内容
为克服上述背景技术中的缺陷,本发明提出一种自动编译库的方法,其功能是通过如下技术方案实现的。
一种自动编译库的方法,具体包括以下步骤:
步骤a1、用户在打开IDE时,通过勾选新建工程/导入工程后编译库,对第一变量和第二变量进行赋值;
步骤a2、在用户新建工程后,系统根据第一变量的值判定是否自动编译库;
步骤a3、在用户导入工程后,系统根据第二变量的值判定是否自动编译库;
在步骤a1至步骤a3中,还同时包括以下过程:
步骤a4、系统会在IDE启动后持续监测源码的变化,并判断此变化是否影响到库,如果影响到库,则将受影响的库进行自动编译。
进一步的,所述第一变量和第二变量均位于IDE的设置目录的存放文件中。
进一步的,在所述步骤a4中,系统会在IDE启动后注册一个监听器来持续监测源码的变化。
进一步的,所述步骤a1中,用户在打开IDE时,若勾选新建工程后编译库,则第一变量赋值为“true”,反之,则为“false”;若勾选导入工程后编译库,则第二变量赋值为“true”,反之,则为“false”。
进一步的,在所述步骤a2中,在用户新建工程后,系统根据第一变量的值判定是否自动编译库,若第一变量为“true”,则自动编译库,若第一变量为“false”,则放弃编译。
进一步的,在所述步骤a3中,在用户导入工程后,系统根据第二变量的值判定是否自动编译库,若第二变量为“true”,则自动编译库,若第二变量为“false”,则放弃编译。
本发明的有益效果是:
提高了软件开发的自动化水平,用户可以选择性地在新建工程或者导入工程后自动编译库,系统在修改源码并保存后会自动判断哪些库收到影响,并将这些库进行重新编译。
附图说明
图1是本发明的自动编译库的方法流程图。
图2是本发明的系统监测源码流程示意图。
图3是本分明的实施例软件自动编译界面图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1至图3所示,一种自动编译库的方法,具体包括以下步骤:
步骤a1、用户在打开IDE时,通过勾选新建工程/导入工程后编译库,对第一变量和第二变量进行赋值;步骤a2、在用户新建工程后,系统根据第一变量的值判定是否自动编译库;步骤a3、在用户导入工程后,系统根据第二变量的值判定是否自动编译库;在步骤a1至步骤a3中,还同时包括以下过程:步骤a4、系统会在IDE启动后持续监测源码的变化,并判断此变化是否影响到库,如果影响到库,则将受影响的库进行自动编译。其中:第一变量的值对应用户是否勾选新建工程后编译库,第二变量的值对应用户是否勾选导入工程后编译库,然后在用户特定的动作后,根据变量的值判定是否自动编译库。如在新建工程后,根据第一变量的值判定是否自动编译库,在导入工程后,根据第二变量的值判定是否自动编译库。在本发明中,主要为用户提供了一个自动编译库的接口,使得用户可以在某些特定的需求编译库的情况下让系统自动编译库。例如,用户在编译Iboot\App时,可以设置对应的第三变量,根据第三变量的值,判定是否需要先自动编译库。Iboot是一种新型存储技术,它能让PC和服务器通过使用计算机网络,把远程硬盘作为它们的主要数据存储库,从而取代了内部硬盘。App是应用程序Application的缩写,一般是指手机软件。
在具体实施过程中,所述第一变量和第二变量均位于IDE的设置目录的存放文件中。
在具体实施过程中,如图2所示,在所述步骤a4中,系统会在IDE启动后注册一个监听器来持续监测源码的变化。同时判定源码变化是否需要将受影响的库重新编译,若需要则自动编译受影响的库;若不需要,则进入下一步骤。
在具体实施过程中,如图1所示,所述步骤a1中,用户在打开IDE时,若勾选新建工程后编译库,则第一变量赋值为“true”,反之,则为“false”;若勾选导入工程后编译库,则第二变量赋值为“true”,反之,则为“false”。在所述步骤a2中,在用户新建工程后,系统根据第一变量的值判定是否自动编译库,若第一变量为“true”,则自动编译库,若第一变量为“false”,则放弃编译。在所述步骤a3中,在用户导入工程后,系统根据第二变量的值判定是否自动编译库,若第二变量为“true”,则自动编译库,若第二变量为“false”,则放弃编译。在具体实践中,只需第一变量对应是否勾选新建工程后自动编译库,第二变量对应是否勾选导入工程后自动编译库,其赋值可以是“true”或“false”,可以是“0”或“1”,也可以是其他满足条件的赋值。
如图3所示的,IDE开发界面,列举了4种情况下自动编译库的情形,分别为1.源码变化时自动编译库;2.新建工程后自动编译库;3.导入工程后自动编译库;4.在编辑Iboot\App前,若没有库,则自动编译库。分别对应了用户在不同条件下,需要手动编译库的情形,提高了软件开发的自动化程度,降低了开发人员的开发难度,减少了人工编译带来的失误和软件开发所需时间。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (3)

1.一种自动编译库的方法,其特征在于,具体包括以下步骤:
步骤a1、用户在打开IDE时,通过勾选新建工程后编译库和勾选导入工程后编译库,对第一变量和第二变量进行赋值;
步骤a2、在用户新建工程后,系统根据第一变量的值判定是否自动编译库;
步骤a3、在用户导入工程后,系统根据第二变量的值判定是否自动编译库;
在步骤a1至步骤a3中,还同时包括以下过程:
步骤a4、系统会在IDE启动后持续监测源码的变化,并判断此变化是否影响到库,如果影响到库,则将受影响的库进行自动编译;
所述步骤a1中,用户在打开IDE时,若勾选新建工程后编译库,则第一变量赋值为“true”,反之,则为“false”;若勾选导入工程后编译库,则第二变量赋值为“true”,反之,则为“false”;
在所述步骤a2中,在用户新建工程后,系统根据第一变量的值判定是否自动编译库,若第一变量为“true”,则自动编译库,若第一变量为“false”,则放弃编译;
在所述步骤a3中,在用户导入工程后,系统根据第二变量的值判定是否自动编译库,若第二变量为“true”,则自动编译库,若第二变量为“false”,则放弃编译。
2.根据权利要求1所述的一种自动编译库的方法,其特征在于,所述第一变量和第二变量均位于IDE的设置目录的存放文件中。
3.根据权利要求1所述的一种自动编译库的方法,其特征在于,在所述步骤a4中,系统会在IDE启动后注册一个监听器来持续监测源码的变化。
CN201910243781.XA 2019-03-28 2019-03-28 一种自动编译库的方法 Active CN109992257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910243781.XA CN109992257B (zh) 2019-03-28 2019-03-28 一种自动编译库的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910243781.XA CN109992257B (zh) 2019-03-28 2019-03-28 一种自动编译库的方法

Publications (2)

Publication Number Publication Date
CN109992257A CN109992257A (zh) 2019-07-09
CN109992257B true CN109992257B (zh) 2022-12-06

Family

ID=67131150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910243781.XA Active CN109992257B (zh) 2019-03-28 2019-03-28 一种自动编译库的方法

Country Status (1)

Country Link
CN (1) CN109992257B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572237A (zh) * 2015-01-19 2015-04-29 上海动联信息技术股份有限公司 一种UKey安装包自动快速生成系统及其方法
CN105468427A (zh) * 2015-11-19 2016-04-06 深圳创维数字技术有限公司 一种自动编译和发布的实现方法及系统
CN106648812A (zh) * 2016-08-31 2017-05-10 上海锐鸿通信技术有限公司 自动编译的方法和系统
CN106843991A (zh) * 2016-12-13 2017-06-13 北京元心科技有限公司 程序编译方法及系统
CN108762765A (zh) * 2018-06-05 2018-11-06 河北工业大学 基于contiki系统的开发板程序编译下载方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489184B2 (en) * 2011-12-30 2016-11-08 Oracle International Corporation Adaptive selection of programming language versions for compilation of software programs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572237A (zh) * 2015-01-19 2015-04-29 上海动联信息技术股份有限公司 一种UKey安装包自动快速生成系统及其方法
CN105468427A (zh) * 2015-11-19 2016-04-06 深圳创维数字技术有限公司 一种自动编译和发布的实现方法及系统
CN106648812A (zh) * 2016-08-31 2017-05-10 上海锐鸿通信技术有限公司 自动编译的方法和系统
CN106843991A (zh) * 2016-12-13 2017-06-13 北京元心科技有限公司 程序编译方法及系统
CN108762765A (zh) * 2018-06-05 2018-11-06 河北工业大学 基于contiki系统的开发板程序编译下载方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IDE集成GCC编译器的方法;朱兴泉;《指挥控制与仿真》;20071015(第05期);全文 *

Also Published As

Publication number Publication date
CN109992257A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
KR100868762B1 (ko) 임베디드용 소프트웨어의 오류 검출 방법
US6519767B1 (en) Compiler and method for automatically building version compatible object applications
CN110990019B (zh) 一种Java类分析方法、装置、存储介质及电子设备
US20150040112A1 (en) Enabling Interoperability Between Software Applications By Utilizing Partial Binaries
JP2009540464A (ja) 反復的な静的および動的ソフトウェア分析
US10514898B2 (en) Method and system to develop, deploy, test, and manage platform-independent software
CN103577324A (zh) 移动应用中隐私信息泄露的静态检测方法
CN112379940B (zh) 一种可执行文件处理方法、装置、电子设备及存储介质
CN111966357A (zh) 一种操作系统应用编译方法、装置及电子设备
CN112181858B (zh) Java软件项目依赖冲突语义一致性的自动化检测方法
US20080127119A1 (en) Method and system for dynamic debugging of software
CN107179982B (zh) 一种跨进程调试方法和装置
CN112230988A (zh) 接口文档的生成方法、装置、计算机设备和存储介质
CN111061486B (zh) 一种安卓应用程序增量方法
US20080127061A1 (en) Method and system for editing code
CN115421765A (zh) 一种应用于国产化操作系统的大数据管理部署方法
JP2005267644A (ja) 共通言語ランタイム言語におけるリソースのアドレスサポート
CN111552480B (zh) 跨平台编译方法、装置、设备及可读存储介质
CN109992257B (zh) 一种自动编译库的方法
KR100834676B1 (ko) 소프트웨어 프로젝트 빌드 방법
CN116954699A (zh) 前端工程的依赖检测处理方法及装置
CN111352631A (zh) 一种接口兼容性检测方法及装置
US20150033213A1 (en) Compiling method, storage medium and compiling apparatus
CN113342376B (zh) 一种针对物联网设备的操作系统进行升级的方法及装置
CN112612474A (zh) 产品移植方法、装置、存储介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant