CN102799437A - 一种编译脚本自动生成方法和自动生成装置 - Google Patents

一种编译脚本自动生成方法和自动生成装置 Download PDF

Info

Publication number
CN102799437A
CN102799437A CN2012102501068A CN201210250106A CN102799437A CN 102799437 A CN102799437 A CN 102799437A CN 2012102501068 A CN2012102501068 A CN 2012102501068A CN 201210250106 A CN201210250106 A CN 201210250106A CN 102799437 A CN102799437 A CN 102799437A
Authority
CN
China
Prior art keywords
file
script
compilation script
compilation
automatically
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.)
Granted
Application number
CN2012102501068A
Other languages
English (en)
Other versions
CN102799437B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201210250106.8A priority Critical patent/CN102799437B/zh
Publication of CN102799437A publication Critical patent/CN102799437A/zh
Application granted granted Critical
Publication of CN102799437B publication Critical patent/CN102799437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提出一种编译脚本自动生成方法及装置,其中该方法包括:根据用户修改项,生成源代码对应的顶层编译脚本;利用语法分析器,检查并识别出源文件中包含的头文件;向头文件所在的目录添加子编译脚本;向头文件的父目录逐级添加编译脚本,直至顶层目录;以及根据头文件的引用结构生成链接脚本。本发明可以有效的提高用户编译效率,减少书写编译脚本的重复而又枯燥的工作,同时减少因为编译脚本书写不正确带来的意外错误,从而减少程序员的工作量。

Description

一种编译脚本自动生成方法和自动生成装置
技术领域
本发明涉及计算机及电子信息技术领域,特别涉及一种编译脚本的自动生成方法和自动生成装置
背景技术
编译是程序开发的基础,但是常常书写编译脚本的工作较为繁琐,在目前有些自动编译技术(专利CN200910078001.7),但该类技术针对的是网络编译;当前还存在一些对针对未知的待测设备的自动编译和配置技术(专利CN201110063214.X),另外一些自动编译技术则主要针对计算机数据进行检纠错(专利CN200410029487.2)。但是针对计算机普通编程的编译脚本文件生成并未出现,在程序开发过程中,大家一般都是手动的编写顶级编译脚本(makefile和链接配置文件),并且在编写程序的过程中不断完善编译脚本文件和链接内容,有时当用户的程序发生改变时,还需要修改对应的编译脚本,并且配置不正确时,则编译提示出错,因此本文设计的编译脚本自动生成装置可以自动生成编译脚本,用户写好程序后,只要调用一次即可完成编译脚本的自动配置。
发明内容
本发明旨在至少在一定程度上解决上述技术问题之一或至少提供一种有用的商业选择。为此,本发明的目的在于提出一种简单的可靠的编译脚本自动生成方法和自动生成装置。
根据本发明实施例的编译脚本自动生成方法,包括:A.根据用户修改项,生成源代码对应的顶层编译脚本;B.利用语法分析器,检查并识别出源文件中包含的头文件;C.向所述头文件所在的目录添加子编译脚本;D.向所述头文件的父目录逐级添加编译脚本,直至顶层目录;以及E.根据所述头文件的引用结构生成链接脚本。
在本发明的编译脚本自动生成方法的一个实施例中,步骤A进一步包括:A1.根据所述源代码的扩展名指定编译工具;A2.利用所述编译工具,根据用户修改项,生成工程项目的根目录下的顶层编译脚本。
在本发明的编译脚本自动生成方法的一个实施例中,所述用户修改项包括:包含库路径、目标文件名、目标文件类型。
在本发明的编译脚本自动生成方法的一个实施例中,所述语法分析器以用户设定的主函数入口的文件为起点,开始检查并识别所述头文件。
在本发明的编译脚本自动生成方法的一个实施例中,若识别出多个所述头文件,则利用递归算法按照深度优先策略对所述多个所述头文件执行步骤C至步骤D。
在本发明的编译脚本自动生成方法的一个实施例中,所述步骤E还包括:当软件需要使用自定义库时,程序员通过配置界面告知用户所述自定义库链接,随后结合步骤B中的所述头文件的引用结构生成链接文件。
综上,顶级编译脚本的生成可以参考cmake的生成方案,对于子文件夹中的子编译脚本生成主要包括:识别出需要生成添加编译脚本的目录,并在上一级编译脚本中加入需要编译的子目录。通过本发明的编译脚本自动生成方法,可以有效的提高用户编译效率,减少书写编译脚本的重复而又枯燥的工作,同时减少因为编译脚本书写不正确带来的意外错误,从而减少程序员的工作量。
根据本发明实施例的编译脚本自动生成装置,包括:顶层编译脚本生成模块,用于根据用户修改项,生成源代码对应的顶层编译脚本;语法分析器,用于检查并识别出源文件中包含的头文件;添加模块,用于向所述头文件所在的目录自动添加子编译脚本,并向所述头文件的父目录自动逐级添加编译脚本,直至顶层目录;以及生成模块,用于根据所述头文件的引用结构自动生成链接脚本。
在本发明的编译脚本自动生成装置的一个实施例中,所述顶层编译脚本生成模块根据所述源代码的扩展名指定编译工具,以及利用所述编译工具,根据用户修改项,生成工程项目的根目录下的顶层编译脚本。
在本发明的编译脚本自动生成装置的一个实施例中,所述用户修改项包括:包含库路径、目标文件名、目标文件类型。
在本发明的编译脚本自动生成装置的一个实施例中,所述语法分析器以用户设定的主函数入口的文件为起点,开始检查并识别所述头文件。
在本发明的编译脚本自动生成装置的一个实施例中,若所述语法分析器识别出多个所述头文件,则所述添加模块利用递归算法按照深度优先策略对所述多个所述头文件执行添加模块的操作。
在本发明的编译脚本自动生成装置的一个实施例中,所述生成模块中,当软件需要使用自定义库时,程序员通过配置界面告知用户所述自定义库链接,随后结合所述头文件的引用结构生成链接文件。
通过本发明的编译脚本自动生成装置,可以有效的提高用户编译效率,减少书写编译脚本的重复而又枯燥的工作,同时减少因为编译脚本书写不正确带来的意外错误,从而减少程序员的工作量。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明实施例的编译脚本自动生成方法的流程示意图;
图2是本发明实施例的编译脚本自动生成方法的详细流程图;和
图3是本发明实施例的编译脚本自动生成装置的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
图1为本发明实施例的编译脚本自动生成方法的流程示意图。如图1所示,该方法包括以下步骤:
步骤S101.根据用户修改项,生成源代码对应的顶层编译脚本。
具体地,首先根据源代码的扩展名指定编译工具;其次利用编译工具,根据用户修改项,生成工程项目的根目录下的顶层编译脚本。其中,用户修改项包括:包含库路径、目标文件名、目标文件类型。
步骤S102.利用语法分析器,检查并识别出源文件中包含的头文件。具体地,初始化用户设定的主函数入口的文件为起点,用语法分析器开始检查并识别头文件。
步骤S103.向头文件所在的目录添加子编译脚本。具体地,将程序所需的编译脚本复制到此目录中,并根据实际的目录名和目录结构进行修正。
步骤S104.向头文件的父目录逐级添加编译脚本,直至顶层目录。通过此步骤可以将当前目录增加到编译的范围中,若此前该目录以及添加到编译目录中,则可以终止当前步骤。
需要说明的是,若语法分析器识别出多个头文件,则利用递归算法按照深度优先策略对多个头文件执行步骤S103至步骤S104。
步骤S105.根据头文件的引用结构生成链接脚本。在本发明的一个实施例中,当软件需要使用自定义的动态或静态库时,程序员通过配置界面告知用户所述自定义库链接,即该库通过配置的形式结合到此方法中,随后结合步骤B中的所述头文件的引用结构生成链接文件。
综上,顶级编译脚本的生成可以参考cmake的生成方案,对于子文件夹中的子编译脚本生成主要包括:识别出需要生成添加编译脚本的目录,并在上一级编译脚本中加入需要编译的子目录。通过本发明的编译脚本自动生成方法,可以有效的提高用户编译效率,减少书写编译脚本的重复而又枯燥的工作,同时减少因为编译脚本书写不正确带来的意外错误,从而减少程序员的工作量。
图2为本发明实施例的编译脚本自动生成方法的详细流程图,对图1作了进一步细化。为了更好的说明子编译脚本的生成,以makefile为例进行阐释。
子文件夹中的makefile需要说明编译的子文件夹中需要包含哪些文件夹,同时以何种规则执行本次编译操作。
一个简单的makefile示例如下所示:
在该实施例中,与图1中的步骤S103和步骤104相对应的是:在源代码中包含的头文件当前目录添加或补全上述makefile,在其父目录中将其加入到SUB_DIRS中。具体流程包括:首先从用户设定的主函数入口文件开始查找其引用的所有头文件,然后按照深度优先的策略对引用的自定义头文件继续查找引用的头文件,并且坚持引用的头文件是否在之前已经被引用过,如果未被引用则继续按照上述策略递归寻找文件。当每找到一个自定义的头文件时,首先,分解出该头文件所在的目录,若不存在编译脚本,则直接添加编译脚本文件;然后,再在上一级文件夹中的编译脚本中添加该目录到包含的目录项中,如果不存在编译脚本同样添加默认的子编译脚本文件;最后,继续检查当前检查目录的上一级目录是否存在编译脚本,若存在则结束本次添加工作。
在该实施例中,与图1中的步骤S105相对应的是::根据头文件顺序直接将其生成的目标文件位置添加到顶级编译脚本的链接文件中。实际上,通过递归的深度优先策略分析出源码包含的所有自定义头文件,并且判断头文件释放在之前已经出现,有效避免了相互调用带来的复杂问题,将调用关系简化成了一棵抽象的树,通过深度优先搜索便利该抽象树即可获得编译的目标文件的链接次序,从而构造出链接文件。
图3为本发明实施例的编译脚本自动生成装置的结构框图。
如图3所示,本发明实施例的编译脚本自动生成装置包括顶层编译脚本生成模块100、语法分析器200、添加模块300和生成模块400。其中:
顶层编译脚本生成模块100用于根据根据所述源代码的扩展名指定编译工具,以及利用所述编译工具,根据用户修改项(包含库路径、目标文件名、目标文件类型等),生成工程项目的根目录下的顶层编译脚本。
语法分析器200用于检查并识别出源文件中包含的头文件,具体地,以用户设定的主函数入口的文件为起点,开始检查并识别所述头文件。
添加模块300用于向所述头文件所在的目录自动添加子编译脚本,并向所述头文件的父目录自动逐级添加编译脚本,直至顶层目录。需要说明的是,若语法分析器200识别出多个所述头文件,则添加模块300利用递归算法按照深度优先策略对所述多个所述头文件执行添加模块的操作。
生成模块400用于根据所述头文件的引用结构自动生成链接脚本。需要说明的是,当软件需要使用自定义库时,程序员通过配置界面告知用户所述自定义库链接,随后结合所述头文件的引用结构生成链接文件。
通过本发明的编译脚本自动生成装置,可以有效的提高用户编译效率,减少书写编译脚本的重复而又枯燥的工作,同时减少因为编译脚本书写不正确带来的意外错误,从而减少程序员的工作量。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种编译脚本自动生成方法,包括:
A.根据用户修改项,生成源代码对应的顶层编译脚本;
B.利用语法分析器,检查并识别出源文件中包含的头文件;
C.向所述头文件所在的目录自动添加子编译脚本;
D.向所述头文件的父目录自动逐级添加编译脚本,直至顶层目录;以及
E.根据所述头文件的引用结构自动生成链接脚本。
2.如权利要求1所述的编译脚本自动生成方法,其特征在于,所述步骤A进一步包括:
A1.根据所述源代码的扩展名指定编译工具;
A2.利用所述编译工具,根据用户修改项,生成工程项目的根目录下的顶层编译脚本。
3.如权利要求1所述的编译脚本自动生成方法,其特征在于,所述用户修改项包括:包含库路径、目标文件名、目标文件类型。
4.如权利要求1所述的编译脚本自动生成方法,其特征在于,所述语法分析器以用户设定的主函数入口的文件为起点,开始检查并识别所述头文件。
5.如权利要求1所述的编译脚本自动生成方法,其特征在于,若识别出多个所述头文件,则利用递归算法按照深度优先策略对所述多个所述头文件执行步骤C至步骤D。
6.如权利要求1所述的编译脚本自动生成方法,其特征在于,所述步骤E还包括:
当软件需要使用自定义库时,程序员通过配置界面告知用户所述自定义库链接,随后结合步骤B中的所述头文件的引用结构生成链接文件。
7.一种编译脚本自动生成装置,包括:
顶层编译脚本生成模块,用于根据用户修改项,生成源代码对应的顶层编译脚本;
语法分析器,用于检查并识别出源文件中包含的头文件;
添加模块,用于向所述头文件所在的目录自动添加子编译脚本,并向所述头文件的父目录自动逐级添加编译脚本,直至顶层目录;以及
生成模块,用于根据所述头文件的引用结构自动生成链接脚本。
8.如权利要求7所述的编译脚本自动生成装置,其特征在于,所述顶层编译脚本生成模块根据所述源代码的扩展名指定编译工具,以及利用所述编译工具,根据用户修改项,生成工程项目的根目录下的顶层编译脚本。
9.如权利要求7所述的编译脚本自动生成装置,其特征在于,所述用户修改项包括:包含库路径、目标文件名、目标文件类型。
10.如权利要求7所述的编译脚本自动生成装置,其特征在于,所述语法分析器以用户设定的主函数入口的文件为起点,开始检查并识别所述头文件。
11.如权利要求7所述的编译脚本自动生成装置,其特征在于,若所述语法分析器识别出多个所述头文件,则所述添加模块利用递归算法按照深度优先策略对所述多个所述头文件执行添加模块的操作。
12.如权利要求1所述的编译脚本自动生成装置,其特征在于,所述生成模块中,当软件需要使用自定义库时,程序员通过配置界面告知用户所述自定义库链接,随后结合所述头文件的引用结构生成链接文件。
CN201210250106.8A 2012-07-18 2012-07-18 一种编译脚本自动生成方法和自动生成装置 Active CN102799437B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210250106.8A CN102799437B (zh) 2012-07-18 2012-07-18 一种编译脚本自动生成方法和自动生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210250106.8A CN102799437B (zh) 2012-07-18 2012-07-18 一种编译脚本自动生成方法和自动生成装置

Publications (2)

Publication Number Publication Date
CN102799437A true CN102799437A (zh) 2012-11-28
CN102799437B CN102799437B (zh) 2015-07-29

Family

ID=47198554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210250106.8A Active CN102799437B (zh) 2012-07-18 2012-07-18 一种编译脚本自动生成方法和自动生成装置

Country Status (1)

Country Link
CN (1) CN102799437B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317568A (zh) * 2014-09-18 2015-01-28 沈阳建筑大学 一种批量产生WinGAMESS输入文件及产生相应批处理文件的方法
CN107678748A (zh) * 2017-09-21 2018-02-09 杭州迪普科技股份有限公司 一种源代码文件编译方法及装置
CN108830720A (zh) * 2018-06-21 2018-11-16 北京京东尚科信息技术有限公司 智能合约运行方法、装置、系统和计算机可读存储介质
CN111857725A (zh) * 2020-07-17 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种Makefile文件生成方法、装置、设备及介质
CN113344549A (zh) * 2021-06-30 2021-09-03 深圳市斯博科技有限公司 项目工程文档更新方法、装置、计算机设备及存储介质
CN113342644A (zh) * 2021-05-31 2021-09-03 中国工商银行股份有限公司 基于语法分析技术的测试脚本自动生成方法及装置
CN113553290A (zh) * 2020-04-26 2021-10-26 江苏华创微系统有限公司 一种数字芯片模块链接的自动化设计方法
CN115080049A (zh) * 2021-03-16 2022-09-20 中国航发商用航空发动机有限责任公司 用于编译仿真模型的方法、系统和计算机可读存储介质
CN118113302A (zh) * 2024-04-30 2024-05-31 浪潮电子信息产业股份有限公司 一种树状中间表示生成方法、系统、设备、介质、产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697135A (zh) * 2009-10-28 2010-04-21 北京东方网力科技有限公司 一种编译程序的方法及装置
CN101859244A (zh) * 2009-04-10 2010-10-13 中兴通讯股份有限公司 多工具链工程构建方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859244A (zh) * 2009-04-10 2010-10-13 中兴通讯股份有限公司 多工具链工程构建方法及系统
CN101697135A (zh) * 2009-10-28 2010-04-21 北京东方网力科技有限公司 一种编译程序的方法及装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317568A (zh) * 2014-09-18 2015-01-28 沈阳建筑大学 一种批量产生WinGAMESS输入文件及产生相应批处理文件的方法
CN107678748A (zh) * 2017-09-21 2018-02-09 杭州迪普科技股份有限公司 一种源代码文件编译方法及装置
CN107678748B (zh) * 2017-09-21 2020-05-12 杭州迪普科技股份有限公司 一种源代码文件编译方法及装置
CN108830720A (zh) * 2018-06-21 2018-11-16 北京京东尚科信息技术有限公司 智能合约运行方法、装置、系统和计算机可读存储介质
CN108830720B (zh) * 2018-06-21 2021-04-30 北京京东尚科信息技术有限公司 智能合约运行方法、装置、系统和计算机可读存储介质
CN113553290A (zh) * 2020-04-26 2021-10-26 江苏华创微系统有限公司 一种数字芯片模块链接的自动化设计方法
CN111857725A (zh) * 2020-07-17 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种Makefile文件生成方法、装置、设备及介质
CN115080049A (zh) * 2021-03-16 2022-09-20 中国航发商用航空发动机有限责任公司 用于编译仿真模型的方法、系统和计算机可读存储介质
CN113342644A (zh) * 2021-05-31 2021-09-03 中国工商银行股份有限公司 基于语法分析技术的测试脚本自动生成方法及装置
CN113342644B (zh) * 2021-05-31 2024-03-26 中国工商银行股份有限公司 基于语法分析技术的测试脚本自动生成方法及装置
CN113344549A (zh) * 2021-06-30 2021-09-03 深圳市斯博科技有限公司 项目工程文档更新方法、装置、计算机设备及存储介质
CN113344549B (zh) * 2021-06-30 2024-03-26 深圳万兴软件有限公司 项目工程文档更新方法、装置、计算机设备及存储介质
CN118113302A (zh) * 2024-04-30 2024-05-31 浪潮电子信息产业股份有限公司 一种树状中间表示生成方法、系统、设备、介质、产品

Also Published As

Publication number Publication date
CN102799437B (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
CN102799437A (zh) 一种编译脚本自动生成方法和自动生成装置
EP3588285B1 (en) Sequence optimizations in a high-performance computing environment
CN102567049B (zh) 嵌入式操作系统的升级方法
CN111090433B (zh) 一种数据处理的方法、装置和存储介质
US8601433B2 (en) Method and apparatus for generating virtual software platform based on component model and validating software platform architecture using the platform
CN102053836B (zh) 一种Android应用开发的版本管理工具的实现方法
CN106874180B (zh) 检测系统及其方法
US20160357519A1 (en) Natural Language Engine for Coding and Debugging
CN104484269A (zh) 一种自动生成测试脚本的方法
US8806436B2 (en) Systems and methods for debugging applications using dual code generation
CN103473067A (zh) 嵌入式Linux分区与数据还原方法、系统及系统开发方法
CN104714788A (zh) 一种软件安装包自动生成的方法及装置
CN102364433B (zh) 在ARM处理器上实现Wine构建工具移植的方法
CN104021011A (zh) 嵌入式设备程序升级系统及方法
CN103049374B (zh) 一种自动化测试的方法及装置
CN104142881A (zh) 应用程序编程接口的适配缺陷检测方法及检测装置
CN102566481B (zh) 一种基于c语言的plc控制系统及其实现方法
CN107491316A (zh) 基板管理控制器的扩展方法、装置及电子设备
CN104035776A (zh) 一种操作系统的启动方法
CN117908910A (zh) 一种mcu升级方法、装置、电子设备及存储介质
CN109947645A (zh) 自动化配置工具方法及系统
CN102255674A (zh) 基于lua脚本的无线模块自动测试方法
CN107291436B (zh) Sdk包产生方法、装置及终端
CN105183507A (zh) 一种应用程序间版本的匹配方法及系统
CN106020835A (zh) 一种服务器软件源码开发管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant