[发明专利]一种完成软件构建的方法及系统无效
申请号: | 200910163711.X | 申请日: | 2009-08-14 |
公开(公告)号: | CN101727347A | 公开(公告)日: | 2010-06-09 |
发明(设计)人: | 程旭;张吉豫;刘先华;陈寅;管雪涛 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司;常州北大众志网络计算机有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 梁挥;祁建国 |
地址: | 100032 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 完成 软件 构建 方法 系统 | ||
技术领域
本发明涉及一种适用于嵌入式,网络计算机等处理器能力相对较弱的系统平台上完成软件的构建方法,特别是一种适合于从头开始的整个发行版的软件构建的方法及实现该方法的系统。
背景技术
目前的编译方法主要包括本地编译和交叉编译两种。
交叉编译是在一种平台上编译生成能运行在另一种平台上的可执行代码。其中平台包含体系结构和操作系统两种概念。即同一个体系结构上运行不同的操作系统,或同一个操作系统上运行不同的体系结构,均可以称之为跨平台。相对与交叉编译,通常的编译手段称之为本地编译,即在某平台下编译生成的程序适用于在相同平台上执行。用于交叉编译跨平台程序的编译器叫交叉编译器,用于本地编译本地程序的编译器本地编译器。
本地编译方法会面临很多问题。例如:对于某些开发环境,或者由于目的平台上的资源贫乏,不足以运行本地编译器;或者由于目的平台尚未被建立,未搭建操作系统等基础软件,无法运行本地编译器;或者由于目的平台处理能力较弱,本地编译大型程序需要的时间很长。
对于上述目的平台上不允许、不能够或尚未安装本地编译器的情况,程序员可以通过交叉编译生成目的平台的可执行程序,开发应用软件。交叉编译方法被广泛应用于异平台移植和嵌入式开发中。例如:在项目的起始阶段,目的平台尚未建立的情况下,使用交叉编译生成启动引导代码以及操作系统核心;或当目的平台能启动之后,由于目的平台上资源的限制,使用交叉编译编译大型程序。但是交叉编译也会面临一些问题:首先,交叉编译受到的限制较多;其次,交叉编译环境中必须包含生成待编译文件所需的所有源程序和被依赖头文件、库函数等文件,需要占用较大空间;由于编译平台和执行平台的环境变量、库函数、路径等设置存在差异,可能会导致交叉编译错误的情况。
目前构建一整套发行版级的解决方案主要有:
(1)完全本地编译,这种方法最安全,但是由于本地处理器能力的限制,速度可能比较慢。
(2)交叉编译,这种方法主要的实践是LFS(Linux From Scratch,是一种从网上直接下载源码,从头编译Linux的安装方式)。交叉编译软件一直存在着一些问题:例如路径和版本问题,包括查找错误的宿主机系统上的头文件路径、库文件路径和版本,生成的在目标机执行的中间程序的问题......LFS是基于这样一种想法,首先在宿主机系统上构建宿主机体系结构的系统(该系统的内容合要构建的目标系统一致),然后chroot(Change Root,改变程序执行时所参考的根目录位置)到该环境中,交叉编译构建目标系统,这样由于chroot后宿主机所呈现的路径已经和要生成的系统路径一致,可以解决路径的问题,但是执行小程序的问题还是需要用已经生成的宿主机平台的二进制文件替换,而且在一些时候需要手工替换Makefile脚本的一些内容。
基于上述现有技术的缺陷,本发明提出了一种适合于从头开始的整个发行版的软件构建的新方法。
发明内容
本发明所要解决的技术问题在于,提供一种完成软件构建的方法及实现该方法的系统,以更简单更高效率的进行完整发行版的软件构建。
为达到上述目的,本发明提供了一种完成软件构建的方法,用于包括客户端和服务器端的系统中,该客户端和该服务器端分别安置在通过网络连接的目标机器和服务器上,其特征在于,该软件构建的方法是由本地编译和交叉编译协同完成的,该方法进一步包括以下步骤:
将编译阶段分为交叉编译安全阶段和交叉编译不安全阶段;
将所述交叉编译的安全阶段部署在所述服务器上进行;
将所述交叉编译的不安全阶段部署在所述目标机器上进行。
上述完成软件构建的方法,其特征在于,所述交叉编译的安全阶段包括:高级语言文件生成汇编语言的编译阶段和汇编语言生成二机制代码的汇编阶段。
上述完成软件构建的方法,其特征在于,所述交叉编译的不安全阶段包括:高级语言文件中宏展开预处理阶段,二机制代码链接生成可执行文件的链接阶段。
上述完成软件构建的方法,其特征在于,所述客户端主要负责解析命令行参数,识别、转换所述目标机器上发生的编译行为。
上述完成软件构建的方法,其特征在于,所述客户端解析命令行参数,识别、转换所述目标机器上发生的编译行为的步骤进一步包括:
步骤一,从编译选项中拆分、转化出预处理阶段的参数,并通过调用本地工具链,以本地编译方法完成预处理阶段的工作;
步骤二,从编译选项中拆分、转化出生成阶段的参数;
步骤三,将生成阶段的参数封装成消息,通过网络传输给服务器端,并等待或继续处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司;常州北大众志网络计算机有限公司,未经北京北大众志微系统科技有限责任公司;常州北大众志网络计算机有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910163711.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:碳酸氢盐生理平衡液及其制备方法
- 下一篇:按摩机