[發明專利]一種完成軟件構建的方法及系統無效
| 申請號: | 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.szxzyx.cn/pat/books/200910163711.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:碳酸氫鹽生理平衡液及其制備方法
- 下一篇:按摩機





