CN102402452A - 一种编译方法及装置 - Google Patents
一种编译方法及装置 Download PDFInfo
- Publication number
- CN102402452A CN102402452A CN2011104122396A CN201110412239A CN102402452A CN 102402452 A CN102402452 A CN 102402452A CN 2011104122396 A CN2011104122396 A CN 2011104122396A CN 201110412239 A CN201110412239 A CN 201110412239A CN 102402452 A CN102402452 A CN 102402452A
- Authority
- CN
- China
- Prior art keywords
- file
- compiling
- vtp
- catalogue
- default configuration
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种编译方法及装置,用于编译VTP代码,从而当其应用于新项目时,只需作少量修改即可适用新项目。本发明实施例方法包括:当需要编译新项目的语音终端平台VTP代码时,为每个新项目建立项目ID目录,为每个新项目建立默认配置文件,并存放入编译子目录,默认配置文件用于控制编译源代码,根据默认配置文件中的新项目ID新建链接目录,在编译目录内根据新项目ID目录中的默认配置文件进行编译工作,编译完成后,将执行编译生成的可运行的程序和运行这些程序所需要的配置文件安装在平台系统中的文件系统中。
Description
技术领域
本发明涉及软件程序开发技术领域,尤其涉及一种编译方法及装置。
背景技术
互联网协议语音(VOIP,Voice over Internet Protocol)方案为了适应多个嵌入式硬件,用同一份源码通过简单的配置,就可以编译出适应于不同硬件的VOIP镜像,从而可以使得同一个VOIP方案适应于不同项目需要,此处所说的VOIP方案指的是语音终端平台(VTP,Voice Terminal Platform),VTP只是一个模块,不包含内核和文件系统,只有把此模块编译出的VOIP应用程序放到平台代码中才能正常运行。
现有技术中,采用的VTP架构是一个项目的所有代码都是存储在同一个目录下,因此,当在新项目中编译代码时,需要下载所有代码后进行编译,下载及编译的时间较长;上传代码时,原代码生成的内容和原文件在同一个目录下,不方便上传;当源码已修改,其他项目再出现同样问题,先找到以前的修改内容,再合入出现问题的项目编码,代码的同步维护浪费时间和人力;当有新项目时,对前代码的移植整合需要较长时间,并且由于没有统一规则,移植具有任意性,增加使用者的理解难度。
发明内容
本发明实施例提供了一种编译方法及装置,用以简化编码内容及编码过程,当新项目需要修改编码时,只需在原VTP代码的基础上作少量修改。
本发明实施例中提供的编译方法,包括:当需要编译新项目的语音终端平台VTP代码时,为每个新项目建立项目身份标识ID目录,所述项目ID目录包含编译子目录,所述编译子目录用于存放编译默认配置文件,编译文件及编译安装文件;为每个新项目建立默认配置文件,并将所述默认配置文件存放入所述编译子目录,所述默认配置文件用于控制编译源码数据,所述默认配置文件的文件名为新项目的ID;根据所述默认配置文件名中的新项目ID新建链接文件,所述链接文件用于将所述新项目ID目录中的文件链接至所述新项目对应的编译目录;在所述编译目录内,执行所述新项目ID目录中的默认配置文件和编译文件进行编译;执行编译安装文件,将编译生成的编译代码安装在平台系统中。
本发明实施例中提供的编译装置,包括:建立单元,用于当需要编译新项目的语音终端平台VTP代码时,为每个新项目建立项目身份标识ID目录,所述项目ID目录包含编译子目录,所述编译子目录用于存放编译默认配置文件,编译文件及编译安装文件,还用于为每个新项目建立默认配置文件,所述默认配置文件用于控制编译源码数据,所述默认配置文件的文件名为新项目的ID,以及用于根据所述默认配置文件名中的新项目ID新建链接文件,所述链接文件用于将所述新项目ID目录中的文件链接至所述新项目对应的编译目录;存放单元,用于将所述默认配置文件存放入所述编译子目录;编译单元,用于在所述编译目录内,执行所述新项目ID目录中的默认配置文件和编译文件进行编译;安装单元,用于执行编译安装文件,将编译生成的编译代码安装在平台系统中。
从以上技术方案可以看出,本发明实施例具有以下优点:当需要编译新项目的VTP代码时,为每个新项目建立项目身份标识ID目录,该项目ID目录包含编译子目录,同时,为每个新项目建立默认配置文件,并将该默认配置文件存放入编译子目录,该默认配置文件用于控制编译源码数据,该默认配置文件的文件名为新项目的ID,根据默认配置文件名中的新项目ID新建链接文件,该链接文件用于将该新项目ID目录中的文件链接至新项目对应的编译目录,在该编译目录内,执行该新项目ID目录中的默认配置文件和编译文件进行编译,执行编译安装文件,将编译生成的编译代码安装在平台系统文件中,由于每个新项目对应一个编译生成的编译代码,而源代码不变,每次新项目需要编译或移植代码时,只要编译或改变编译代码部分,因此可简化编译或移植的过程,从而节约新项目前期代码整合的时间。在使用新的代码框架时,只需更新编译代码部分就可满足不同项目的需要,同时只需维护编译代码部分,提高维护工作效率。
附图说明
图1为本发明实施例中的编码方法的一个实施例示意图;
图2为本发明实施例中的编码方法的另一个实施例示意图;
图3为本发明实施例中的编码装置的一个实施例示意图;
图4为本发明实施例中的编码装置的另一个实施例示意图。
具体实施方式
本发明实施例提供了一种编码方法及装置,用于简化编码内容及编码过程。以下分别进行详细说明。
本实施例中,对VTP代码框架进行创新性修改,为便于描述,将修改的现有技术中的VTP命名为VTP1.0,经过创新性修改之后的VTP命名为VTP2.0,在VTP2.0框架中,将VTP1.0代码完全独立出来,这样移植和编译代码完全不依赖平台代码。VTP2.0框架结构包含VTP1.0的源码部分和编译配置部分。
请参阅图1,本发明实施例中的编译方法包括:
101、当需要编译新项目的语音平台终端VTP代码时,为每个新项目建立项目身份标识ID目录,该项目ID目录包含编译子目录;
当有新项目出现,需要编译VTP代码时,为每个新项目都对应建立一个项目身份标识(ID,IDentity)目录,项目ID具有唯一性,不得重复。项目ID目录下存放只和此项目相关的文件。
本实施例中,在项目ID目录下包含编译子目录mak,mak子目录用于存放编译默认配置文件,编译文件Makefile.def及编译安装文件Makefile.custom。
102、为每个新项目建立默认配置文件,并将该默认配置文件存放入编译子目录,该默认配置文件用于控制编译源码数据,该默认配置文件的文件名为新项目的ID;
为每个项目建立一个默认配置文件“ID.CONFIG”,并将该默认配置文件存放入编译子目录mak,该默认配置文件用于控制编译源码数据,其名称中的“ID”为新项目ID,也具有唯一性,各项目的ID不得重复命名,而ID.CONFIG文件的名称,根据项目ID的不同而变化,例如,项目101中的ID.CONFIG文件的名称可为101.CONFIG,项目B2201中的ID.CONFIG文件的名称可为B2201.CONFIG。
每个项目只有对应的一个默认配置文件ID.CONFIG,其决定此项目中引入的编译源码数据,主要包括以下参数;
1、信令控制协议的种类,VOIP中经常用的信令控制协议包括:会话启动协议(SIP,Session Initiation Protocol),媒体网关控制协议H248,媒体网关控制协议(MGCP,Media Gateway Control Protocol);
2、电话口的数量;
3、VOIP电话系统所使用的芯片的种类及型号;
4、数字信号处理器DSP(Digital Signal Processing)的种类;
5、编译的应用程序。
103、根据默认配置文件名中的新项目ID新建链接文件,该链接文件用于将该新项目ID目录中的文件链接至新项目对应的编译目录;
根据默认配置文件名中的新项目ID,新建链接文件build,用于将该新项目ID目录中的文件链接至新项目对应的编译目录。
本实施例中,为代码编译方便,为新项目建立对应的编译目录build.ID,其中,ID为新项目ID,编译过程将在各新项目中的编译目录中进行,因此,根据默认配置文件ID.CONFIG的文件名中新项目的ID,新建一个build文件,用于将该新项目ID目录中的文件链接至新项目对应的编译目录,通过build文件,将VTP的源码目录及其内容,完整的链接到编译目录中,为新项目ID目录中的文件在编译目录中建立镜像文件。
在该新项目ID目录中存放的都是指向代码源文件的链接文件,新项目ID目录就是所说的编译目录,VTP代码目录就是源代码目录。
104、在该编译目录内,执行该新项目ID目录中的默认配置文件和编译文件进行编译;
在该编译目录内,执行该新项目ID目录中的默认配置文件ID.CONFIG和编译文件Makefile.def进行编译。
105、执行编译安装文件,将编译生成的编译代码安装在平台系统中。
执行编译安装文件Makefile.custom,将编译生成的VOIP应用程序安装在平台系统的文件系统中,由于VTP只是一个模块,不包含内核和文件系统,因此将编译出的VOIP编译代码放到系统文件中才可正常运行。
本发明实施例中,当需要编译新项目的VTP代码时,为每个新项目建立项目身份标识ID目录,该项目ID目录包含编译子目录,同时,为每个新项目建立默认配置文件,并将该默认配置文件存放入编译子目录,该默认配置文件用于控制编译源码数据,该默认配置文件的文件名为新项目的ID,根据默认配置文件名中的新项目ID新建链接文件,该链接文件用于将该新项目ID目录中的文件链接至新项目对应的编译目录,在该编译目录内,执行该新项目ID目录中的默认配置文件和编译文件进行编译,执行编译安装文件,将编译生成的编译代码安装在平台系统文件中,由于每个新项目对应一个编译生成的编译代码,而源代码不变,每次新项目需要编译或移植代码时,只要编译或改变编译代码部分,因此可简化编译或移植的过程,从而节约新项目前期代码整合的时间。在使用新的代码框架时,只需更新编译代码部分就可满足不同项目的需要,同时只需维护编译代码部分,提高维护工作效率。
为便于理解,下面以另一实施例详细说明本发明实施中的编码方法,请参阅图2,本发明实施例中的编码方法的另一个实施例包括:
201、获取编译VTP代码所需的宏;
获取编译VTP代码所必需的宏,使用各宏才可正常编译VTP代码,各宏包括:VTP_proj目录的路径,内核的路径,UCLIBC的路径、编译生成内容的安装路径、编译工具链的路径。
各宏具体形式分别为:
VTP_proj目录的路径:O_TOP_PATH;
内核的路径:O_KERNEL_PATH;
UCLIBC的路径:O_UCLIBC_PATH;
编译生成内容安装的文件系统路径:O_ROOTFS_PATH;
编译工具链的路径:O_COMPILER_PATH。
编译VTP代码时,上述各宏在Makefile.def文件中被引用。
202、将编译代码所需的宏存放入编译文件中,将与安装相关的文件存放入编译安装文件中;
将编译代码所需的宏存放入编译文件makefile.def中,将与安装相关的文件内容存放入makefile.custom,以便后续将编译生成的VTP代码放入安装在平台系统文件中。
203、将与VTP代码相关的宏存放入VTP通道头文件,宏的值根据VTP通道头文件中的不同通道个数进行区别,该VTP通道头文件用于控制需要传入的代码数据;
将与VTP代码相关的宏存放入VTP通道头文件vtp_channel.h中,该VTP通道头文件用于控制需要传入的代码数据,在编译代码时需要传入的数据不相同,各宏的值就不同,各宏的值根据VTP通道头文件中的不同通道个数进行区别,一般的,VTP通道头文件vtp_channel.h中的不同通道信息包括以下情况:1个电话口,2个电话口,16个电话口,24个电话口。
204、当需要编译新项目的VTP代码时,为每个新项目建立项目ID目录,该项目ID目录包含编译子目录,文件系统子目录及网页文件子目录;
当有新项目出现,需要编译VTP代码时,为每个新项目都对应建立一个项目ID目录,项目ID具有唯一性,不得重复。项目ID目录下存放只和此项目相关的文件。
本实施例中,在项目ID目录下包含编译子目录mak,文件系统子目录filesystem/etc,以及网页文件子目录web。
其中,mak子目录用于存放编译默认配置文件,编译文件Makefile.def及编译安装文件Makefile.custom;
系统文件子目录filesystem/etc用于存放VOIP系统启动中调用的脚本文件,如voice_start文件,voice_stop文件,delay_start文件,以及VOIP系统运行中调用的脚本文件,如config_out.xml,led.conf,,progdefs.xml;
网页文件子目录web,用于存放各项目的网络页面文件。
205、为每个新项目建立默认配置文件,并将该默认配置文件存放入该编译子目录,该默认配置文件用于控制编译源码数据,该默认配置文件的文件名为新项目的ID;
本步骤的具体内容,请参见前述图1所示实施例中的步骤102所描述的内容,此处不再赘述。
206、将默认配置文件进行处理得到自动执行头文件,并将该自动执行头文件复制至VTP配置头文件中,该VTP配置头文件用于控制编译内容;
本实施例中,在编译VTP代码前,把默认配置文件ID.CONFIG通过awk命令处理得到自动执行头文件auto.h,再通过复制copy命令,将该auto.h文件复制至VTP配置头文件vtp_config.h中,并存放于目录VTP_base/build/inc/vtp_config.h,把默认配置文件ID.CONFIG文件再通过copy命令复制至.config文件,并存放于VTP_proj/VTP_base/.config,以为后续编译做准备工作。
207、根据默认配置文件名中的新项目ID新建链接文件,该链接文件用于将新项目ID目录中的文件链接至该新项目对应的编译目录;
根据默认配置文件名中的新项目ID,新建链接文件build,用于将该新项目ID目录中的文件链接至新项目对应的编译目录。
本实施例中,为代码编译方便,为新项目建立对应的编译目录build.ID,其中,ID为新项目ID,编译过程将在各新项目中的编译目录中进行,因此,根据默认配置文件ID.CONFIG的文件名中新项目的ID,新建一个build文件,用于将该新项目ID目录中的文件链接至新项目对应的编译目录,通过build文件,将VTP的源码目录及其内容,完整的链接到编译目录中,根据要编译的项目ID,把VTP的源码目录及该目录内的内容,完整的链接到编译目录build.ID,该编译目录build.ID里面的内容完全指向VTP,编译工作就在该build.ID目录里完成。此种方式可以实现同一份代码,多项目的编译工作。
208、在该编译目录内,执行该新项目ID目录中的默认配置文件和编译文件进行编译;
在该编译目录内,执行该新项目ID目录中的默认配置文件ID.CONFIG和编译文件Makefile.def进行编译。
具体的,当编译VTP代码中的部分代码时,编译的内容通过Makefile.def中和VTP配置头文件vtp_config.h头文件加以控制,就要将由默认配置文件ID.CONFIG文件通过copy命令复制的“.config”文件在执行makefile时展开,“.config”和vtp_config.h文件的内容是完全一样的,只是表现形式不一样,以方便在执行makefile时及源文件中起到编译控制的作用。
在执行makefile时引用Makefile.def文件及Makefile.custom文件,Makefile.def文件中为与该项目相关的平台信息,以宏的形式体现,在VTP代码中执行makefile时可以引用,以控制编译内容。
209、执行编译安装文件,由该编译安装文件中的编译对象目标根据编译生成内容的安装路径值,将编译生成的VTP代码与系统运行中调用的脚本文件一并安装到平台系统中。
执行编译安装文件,将编译生成的代码安装到指定目录,引用makefile.custom文件,在makefile.custom文件有一个编译对象目标postbuild文件,根据编译VTP代码所必需的宏中的编译生成内容安装的文件系统路径O_ROOTFS_PATH值,把编译VTP代码生成的内容和VOIP运行起来所使用到的脚本,例如config_out.xml,led.conf,progdefs.xml,一并安装到平台系统中。
本发明实施例中,在编译新项目VTP代码前,先获取编译VTP代码所需的宏,并将其存放入编译文件中,使用这些宏才可正常编译VTP代码,并且,将与安装相关的文件存放入编译安装文件中,将与VTP代码相关的宏存放入VTP通道头文件,以控制需要传入的代码数据,同时,将默认配置文件进行处理得到自动执行头文件,并将该自动执行头文件复制至VTP配置头文件中,以控制编译内容,由此可以使得编译新项目VTP代码的进程正常进行,并且可以控制的编译的内容。
下面描述本发明实施例中的编译装置,请参阅图3,本发明实施例中的编译装置的一个实施例包括:
建立单元301,用于当需要编译新项目的语音终端平台VTP代码时,为每个新项目建立项目身份标识ID目录,该项目ID目录包含编译子目录,该编译子目录用于存放编译默认配置文件,编译文件及编译安装文件,还用于为每个新项目建立默认配置文件,该默认配置文件用于控制编译源码数据,该默认配置文件的文件名为新项目的ID,以及用于根据该默认配置文件名中的新项目ID新建链接文件,该链接文件用于将该新项目ID目录中的文件链接至该新项目对应的编译目录(参见步骤101~103);
存放单元302,用于将该默认配置文件存放入该编译子目录(参见步骤102);
编译单元303,用于在该编译目录内,执行该新项目ID目录中的默认配置文件和编译文件进行编译(参见步骤103);
安装单元304,用于执行编译安装文件,将编译生成的编译代码安装在平台系统中(参见步骤104)。
本发明实施例中,当需要编译新项目的语音终端平台VTP代码时,建立单元301为每个新项目建立项目身份标识ID目录,该项目ID目录包含编译子目录,该编译子目录用于存放编译默认配置文件,编译文件及编译安装文件,建立单元301还为每个新项目建立默认配置文件,该默认配置文件用于控制编译源码数据,该默认配置文件的文件名为新项目的ID,存放单元302将该默认配置文件存放入该编译子目录,此时,建立单元301根据该默认配置文件名中的新项目ID新建链接文件,该链接文件用于将该新项目ID目录中的文件链接至该新项目对应的编译目录,编译单元303在该编译目录内,执行该新项目ID目录中的默认配置文件和编译文件进行编译,安装单元304执行编译安装文件,将编译生成的编译代码安装在平台系统中,由于每个新项目对应一个编译生成的编译代码,而源代码不变,每次新项目需要编译或移植代码时,只要编译或改变编译代码部分,因此可简化编译或移植的过程,从而节约新项目前期代码整合的时间。在使用新的代码框架时,只需更新编译代码部分就可满足不同项目的需要,同时只需维护编译代码部分,提高维护工作效率。
为便于理解,下面以另一实施例详细说明本发明实施中的编码装置,请参阅图4,本发明实施例中的编码方法的另一个实施例包括:
建立单元401,用于当需要编译新项目的语音终端平台VTP代码时,为每个新项目建立项目身份标识ID目录,该项目ID目录包含编译子目录,该编译子目录用于存放编译默认配置文件,编译文件及编译安装文件,还用于为每个新项目建立默认配置文件,该默认配置文件用于控制编译源码数据,该默认配置文件的文件名为新项目的ID,以及用于根据该默认配置文件名中的新项目ID新建链接文件,该链接文件用于将该新项目ID目录中的文件链接至该新项目对应的编译目录(参见步骤101~103,204~205,207);
存放单元402,用于将该默认配置文件存放入该编译子目录(参见步骤102),还用于将宏存放入编译文件中,将与安装相关的文件存放入编译安装文件中,将与VTP代码相关的宏存放入VTP通道头文件,宏的值根据VTP通道头文件中的不同通道个数进行区别,该VTP通道头文件用于控制需要传入的代码数据(参见步骤202、203);
编译单元403,用于在该编译目录内,执行该新项目ID目录中的默认配置文件和编译文件进行编译(参见步骤103、208);
安装单元404,用于通过执行编译安装文件,由该编译安装文件中的编译对象目标根据编译生成内容的安装路径值,将编译生成的VTP代码与系统运行中调用的脚本文件一并安装到平台系统中的方式,将编译生成的编译代码安装在平台系统中(参见步骤209)。
需要说明的是,本发明实施中的编译装置可以进一步包括:
获取单元405,用于获取编译VTP代码所需的宏,该宏包括:VTP_proj目录的路径,内核的路径,UCLIBC的路径、编译生成内容的安装路径、编译工具链的路径(参见步骤201);
处理单元406,用于将该默认配置文件进行处理得到自动执行头文件,并将该自动执行头文件复制至VTP配置头文件中,该VTP配置头文件用于控制编译内容(参见步骤206)。
本发明实施例中,获取单元405获取编译VTP代码所需的宏,该宏包括:VTP_proj目录的路径,内核的路径,UCLIBC的路径、编译生成内容的安装路径、编译工具链的路径,存放单元402将宏存放入编译文件中,将与安装相关的文件存放入编译安装文件中,而后,将与VTP代码相关的宏存放入VTP通道头文件,宏的值根据VTP通道头文件中的不同通道个数进行区别,该VTP通道头文件用于控制需要传入的代码数据,当需要编译新项目的VTP代码时,建立单元401为每个新项目建立项目ID目录,该项目ID目录包含编译子目录,文件系统子目录及网页文件子目录,同时,为每个新项目建立默认配置文件,并将该默认配置文件存放入该编译子目录,该默认配置文件用于控制编译源码数据,该默认配置文件的文件名为新项目的ID,处理单元406将默认配置文件进行处理得到自动执行头文件,并将该自动执行头文件复制至VTP配置头文件中,该VTP配置头文件用于控制编译内容,建立单元401根据默认配置文件名中的新项目ID新建链接文件,该链接文件用于将新项目ID目录中的文件链接至该新项目对应的编译目录,在该编译目录内,编译单元403执行该新项目ID目录中的默认配置文件和编译文件进行编译,安装单元404执行编译安装文件,由该编译安装文件中的编译对象目标根据编译生成内容的安装路径值,将编译生成的VTP代码与系统运行中调用的脚本文件一并安装到平台系统中,在编译新项目VTP代码前,先获取编译VTP代码所需的宏,并将其存放入编译文件中,使用这些宏才可正常编译VTP代码,并且,将与安装相关的文件存放入编译安装文件中,将与VTP代码相关的宏存放入VTP通道头文件,以控制需要传入的代码数据,同时,将默认配置文件进行处理得到自动执行头文件,并将该自动执行头文件复制至VTP配置头文件中,以控制编译内容,由此可以使得编译新项目VTP代码的进程正常进行,并且可以控制的编译的内容。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种编译方法及装置进行了详细介绍,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种编译方法,其特征在于,包括:
当需要编译新项目的语音终端平台VTP代码时,为每个新项目建立项目身份标识ID目录,所述项目ID目录包含编译子目录,所述编译子目录用于存放编译默认配置文件,编译文件及编译安装文件;
为每个新项目建立默认配置文件,并将所述默认配置文件存放入所述编译子目录,所述默认配置文件用于控制编译源码数据,所述默认配置文件的文件名为新项目的ID;
根据所述默认配置文件名中的新项目ID新建链接文件,所述链接文件用于将所述新项目ID目录中的文件链接至所述新项目对应的编译目录;
在所述编译目录内,执行所述新项目ID目录中的默认配置文件和编译文件进行编译;
执行编译安装文件,将编译生成的编译代码安装在平台系统中。
2.根据权利要求1所述的方法,其特征在于,所述当需要编译新项目的VTP代码时,为每个新项目建立项目身份标识ID目录之前包括:
获取编译VTP代码所需的宏,所述宏包括:VTP_proj目录的路径,内核的路径,UCLIBC的路径,编译生成内容的安装路径,编译工具链的路径;
将所述宏存放入编译文件中;
将与安装相关的文件存放入编译安装文件中。
3.根据权利要求1或2所述的方法,其特征在于,所述项目ID目录中还包含文件系统子目录及网页文件子目录,所述文件系统子目录用于存放系统启动中调用的脚本文件,以及系统运行中调用的脚本文件,所述网页文件子目录用于存放各项目的网络页面文件。
4.根据权利要求3所述的方法,其特征在于,所述执行编译安装文件,将编译生成的代码安装在平台系统中包括:
执行编译安装文件,由所述编译安装文件中的编译对象目标根据所述编译生成内容的安装路径值,将编译生成的VTP代码与所述系统运行中调用的脚本文件一并安装到平台系统中。
5.根据权利要求4所述的方法,其特征在于,所述为每个新项目建立默认配置文件,并将所述默认配置文件存放入所述编译子目录之后还包括:
将所述默认配置文件进行处理得到自动执行头文件,并将所述自动执行头文件复制至VTP配置头文件中,所述VTP配置头文件用于控制编译内容。
6.根据权利要求5所述的方法,其特征在于,所述在所述编译目录内,执行所述新项目ID目录中的默认配置文件和编译文件进行编译之前还包括:
将与VTP代码相关的宏存放入VTP通道头文件,所述宏的值根据所述VTP通道头文件中的不同通道个数进行区别,所述VTP通道头文件用于控制需要传入的代码数据。
7.一种编译装置,其特征在于,包括:
建立单元,用于当需要编译新项目的语音终端平台VTP代码时,为每个新项目建立项目身份标识ID目录,所述项目ID目录包含编译子目录,所述编译子目录用于存放编译默认配置文件,编译文件及编译安装文件,还用于为每个新项目建立默认配置文件,所述默认配置文件用于控制编译源码数据,所述默认配置文件的文件名为新项目的ID,以及用于根据所述默认配置文件名中的新项目ID新建链接文件,所述链接文件用于将所述新项目ID目录中的文件链接至所述新项目对应的编译目录;
存放单元,用于将所述默认配置文件存放入所述编译子目录;
编译单元,用于在所述编译目录内,执行所述新项目ID目录中的默认配置文件和编译文件进行编译;
安装单元,用于执行编译安装文件,将编译生成的编译代码安装在平台系统中。
8.根据权利要求7所述的装置,其特征在于,
所述装置还包括:
获取单元,用于获取编译VTP代码所需的宏,所述宏包括:VTP_proj目录的路径,内核的路径,UCLIBC的路径,编译生成内容的安装路径,编译工具链的路径;
所述存放单元,还用于将所述宏存放入编译文件中,将与安装相关的文件存放入编译安装文件中,将与VTP代码相关的宏存放入VTP通道头文件,所述宏的值根据所述VTP通道头文件中的不同通道个数进行区别,所述VTP通道头文件用于控制需要传入的代码数据。
9.根据权利要求7或8所述的装置,其特征在于,
所述安装单元,用于通过执行编译安装文件,由所述编译安装文件中的编译对象目标根据所述编译生成内容的安装路径值,将编译生成的VTP代码与所述系统运行中调用的脚本文件一并安装到平台系统中的方式,将编译生成的编译代码安装在平台系统中。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
处理单元,用于将所述默认配置文件进行处理得到自动执行头文件,并将所述自动执行头文件复制至VTP配置头文件中,所述VTP配置头文件用于控制编译内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110412239.6A CN102402452B (zh) | 2011-12-12 | 2011-12-12 | 一种编译方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110412239.6A CN102402452B (zh) | 2011-12-12 | 2011-12-12 | 一种编译方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102402452A true CN102402452A (zh) | 2012-04-04 |
CN102402452B CN102402452B (zh) | 2014-04-09 |
Family
ID=45884684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110412239.6A Active CN102402452B (zh) | 2011-12-12 | 2011-12-12 | 一种编译方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102402452B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866305A (zh) * | 2015-04-30 | 2015-08-26 | 闻泰通讯股份有限公司 | 自识别最佳编译机制的方法 |
CN105867989A (zh) * | 2015-10-29 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 一种编译处理方法及装置、电子设备 |
CN106325823A (zh) * | 2015-06-15 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 项目原型管理方法和装置 |
CN106406971A (zh) * | 2016-09-26 | 2017-02-15 | 杭州迪普科技有限公司 | 一种代码文件的编译方法及装置 |
CN107273176A (zh) * | 2016-04-08 | 2017-10-20 | 上海思立微电子科技有限公司 | 一种适配硬件架构的编译方法及装置 |
CN107357593A (zh) * | 2017-08-24 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 源代码文件组建方法、装置、电子终端及可读存储介质 |
CN109828759A (zh) * | 2018-12-15 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 代码编译方法、装置、计算机装置及存储介质 |
CN111596920A (zh) * | 2019-02-21 | 2020-08-28 | 迈普通信技术股份有限公司 | 文件编译方法、装置、编译设备及存储介质 |
CN112506518A (zh) * | 2020-12-01 | 2021-03-16 | 东软睿驰汽车技术(沈阳)有限公司 | 基于配置文件的编译方法和装置 |
CN113760300A (zh) * | 2021-09-13 | 2021-12-07 | 武汉联影智融医疗科技有限公司 | 软件持续集成方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937356A (zh) * | 2010-09-15 | 2011-01-05 | 青岛海信移动通信技术股份有限公司 | 一种编译WebKit浏览器的方法及装置 |
CN102207884A (zh) * | 2011-06-02 | 2011-10-05 | 深圳市茁壮网络股份有限公司 | 一种文件编译方法及装置 |
WO2011142227A1 (ja) * | 2010-05-14 | 2011-11-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システム、方法及びプログラム |
-
2011
- 2011-12-12 CN CN201110412239.6A patent/CN102402452B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011142227A1 (ja) * | 2010-05-14 | 2011-11-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システム、方法及びプログラム |
CN101937356A (zh) * | 2010-09-15 | 2011-01-05 | 青岛海信移动通信技术股份有限公司 | 一种编译WebKit浏览器的方法及装置 |
CN102207884A (zh) * | 2011-06-02 | 2011-10-05 | 深圳市茁壮网络股份有限公司 | 一种文件编译方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866305A (zh) * | 2015-04-30 | 2015-08-26 | 闻泰通讯股份有限公司 | 自识别最佳编译机制的方法 |
CN106325823A (zh) * | 2015-06-15 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 项目原型管理方法和装置 |
CN106325823B (zh) * | 2015-06-15 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 项目原型管理方法和装置 |
CN105867989A (zh) * | 2015-10-29 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 一种编译处理方法及装置、电子设备 |
CN107273176A (zh) * | 2016-04-08 | 2017-10-20 | 上海思立微电子科技有限公司 | 一种适配硬件架构的编译方法及装置 |
CN107273176B (zh) * | 2016-04-08 | 2020-05-12 | 上海思立微电子科技有限公司 | 一种适配硬件架构的编译方法及装置 |
CN106406971B (zh) * | 2016-09-26 | 2019-05-07 | 杭州迪普科技股份有限公司 | 一种代码文件的编译方法及装置 |
CN106406971A (zh) * | 2016-09-26 | 2017-02-15 | 杭州迪普科技有限公司 | 一种代码文件的编译方法及装置 |
CN107357593A (zh) * | 2017-08-24 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 源代码文件组建方法、装置、电子终端及可读存储介质 |
CN109828759A (zh) * | 2018-12-15 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 代码编译方法、装置、计算机装置及存储介质 |
CN109828759B (zh) * | 2018-12-15 | 2023-07-18 | 中国平安人寿保险股份有限公司 | 代码编译方法、装置、计算机装置及存储介质 |
CN111596920A (zh) * | 2019-02-21 | 2020-08-28 | 迈普通信技术股份有限公司 | 文件编译方法、装置、编译设备及存储介质 |
CN112506518A (zh) * | 2020-12-01 | 2021-03-16 | 东软睿驰汽车技术(沈阳)有限公司 | 基于配置文件的编译方法和装置 |
CN112506518B (zh) * | 2020-12-01 | 2023-07-14 | 东软睿驰汽车技术(沈阳)有限公司 | 基于配置文件的编译方法和装置 |
CN113760300A (zh) * | 2021-09-13 | 2021-12-07 | 武汉联影智融医疗科技有限公司 | 软件持续集成方法、装置、计算机设备和存储介质 |
CN113760300B (zh) * | 2021-09-13 | 2023-10-27 | 武汉联影智融医疗科技有限公司 | 软件持续集成方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102402452B (zh) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102402452A (zh) | 一种编译方法及装置 | |
CN109491662A (zh) | 代码打包方法、计算机装置及计算机可读存储介质、代码打包系统 | |
CN104978191B (zh) | 应用部署方法和服务器 | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
US8776047B2 (en) | Apparatus and method for managing a plurality of software dependency maps and software installation using the same | |
CN107506219A (zh) | 一种基于Android系统的通用版本升级方法 | |
CA3105702A1 (en) | Computer-automated software release and deployment architecture | |
CN102541609B (zh) | 安装程序制作方法、装置及网络设备 | |
CN109597626A (zh) | 一种组件部署方法和装置 | |
RU2008114372A (ru) | Устройство мультимедийного промежуточного программного обеспечения, использующее метаданные, способ управления мультимедийным промежуточным программным обеспечением и носитель информации для него | |
CN109344619A (zh) | 应用程序的热修复方法和装置 | |
CN108132808B (zh) | 一种渠道包生成方法及装置 | |
CN105893545A (zh) | 一种高效的Hadoop集群部署方法 | |
CN102158434A (zh) | 一种在智能网关上实现应用程序管理的方法及智能网关 | |
CN103645888A (zh) | 一种自动构建操作系统的系统及方法 | |
CN113885920A (zh) | 机器学习模型的热更新方法、装置、电子设备及存储介质 | |
CN102768628A (zh) | 一种预安装第三方应用的方法及装置 | |
CN105320540A (zh) | 一种安卓应用的批量安装方法及系统 | |
CN110795105A (zh) | 一种配电自动化主站系统自动编译部署方法与系统 | |
US20110107326A1 (en) | Systems and methods for space efficient software package management | |
CN115421765A (zh) | 一种应用于国产化操作系统的大数据管理部署方法 | |
US9262196B2 (en) | Virtual machine deployment planning method and associated apparatus | |
KR101599471B1 (ko) | 소스 관리 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체 | |
CN101169726A (zh) | 基于MTD分区的嵌入式Linux系统在线升级方法 | |
CN113360156B (zh) | 一种ios编译方法及相关设备 |
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 |