亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

交叉編譯

2019-11-17 05:15:38
字體:
來源:轉載
供稿:網友

  OpenARM-CrossCompile-HOWTO

一、版權說明
目的:
本版權聲明的目的是希望保證任何人能夠真實、有效地享有使用本版權說明所約束的
文檔的充分自由;同時,保護文檔原作者的權利,不僅使他們得到應得的榮譽,而且
保證原作者不對因其他人的改動而導致的后果負任何責任。

聲明:
a、除非另外聲明,文檔的版權是屬于其作者的。本計劃所有文檔作者保留所有權利。

b、由本計劃所生成的自由文檔答應每個人自由的使用(包括對本文檔進行各種商業性
的或是非商業性的復制和再分發),而無須向 OPENARM 計劃或作者支付任何費用,條
件是本版權聲明出現在所有的副本中,并且,自由文檔版權聲明神圣不可侵犯,使用者
不得對聲明中的任何條款作任何形式的修改,也不得附加任何其它的條件。

c、答應任何人在遵循本版權聲明的前提下對自由文檔進行修訂后再復制和發布。假如
您修訂了自由文檔或者發布了修訂版本的副本,您就不再是一般意義上的使用者而成為
修訂人,這些規定就轉化為你的責任。修訂人應遵循如下規定:

1。修訂版應含有與上一版本具有相同內容的自由文檔版權聲明,但就其所修改的部分,
修訂者擁有其自己的版權。
2。保護原作者以及前期版本的修訂者的署名權。修訂者應在修訂版本中保留原作者以及
前期修訂者的姓名及聯系方式
3。專門建立并保留一部分內容名為“歷史紀錄”,針對每一版本的修訂,記錄該版本
的作者,修訂時間,聯系方式及發布者等相關信息
4。修訂者有告訴讀者如何獲得上一版本文檔的義務,假如是在網站上發布,應做出指
向上一版本文檔位置的鏈接

d、任何人可以引用本文檔中的一部分內容,或是將一部分本文檔內容與其他文檔內容
混合在一起使用,條件是必須在引用的文檔部分中加入本版權聲明。對上述行為可依
照 c 項規定辦理

e、轉譯。假如需要根據本計劃中文檔轉譯為其它種語言,此種行為將被視同為對修訂
版本的再次修訂,可依照 c 項規定辦理。

f、在任何情況下,原作者不承擔因使用本文檔而導致的對任何當事人所造成的直接的,
間接的,非凡的,附加的或者相伴而生的損壞,包括利益損失的責任,即使原作者在文
檔中已經建議了這些損失的可能性時也是如此。





二、什么是交叉編譯
什么是交叉編譯呢,簡單地說,就是在一個平臺上生成另一個平臺上的可執行代碼。這里需要注重的是所謂
平臺,實際上包含兩個概念:體系結構(Architecture)、操作系統Operating System)。同一個體系結
構可以運行不同的操作系統;同樣,同一個操作系統也可以在不同的體系結構上運行。舉例來說,我們常說
的x86 linux平臺實際上是Intel x86體系結構和Linux for x86操作系統的統稱;而x86 WinNT平臺實際上是
Intel x86體系結構和Windows NT for x86操作系統的簡稱。

一個經常會被問到的問題就是,“既然我們已經有了主機編譯器,那為什么還要交叉編譯呢?”其實答案很簡
單,沒辦法??!有時是因為目的平臺上不答應或不能夠安裝我們所需要的編譯器,而我們又需要這個編譯器
的某些特征;有時是因為目的平臺上的資源貧乏,無法運行我們所需要編譯器;有時又是因為目的平臺還沒
有建立,連操作系統都沒有,根本談不上運行什么編譯器。

另一個經常會被問到的問題就是:“既然可以交叉編譯,那還要主機編譯干嗎?”其實答案也很簡單,交叉編
譯是不得已而為之!與主機編譯相比,交叉編譯受的限制更多,雖然在理論上我們可以做任何形式的交叉編
譯,但事實上,由于受到專利、版權、技術的限制,并不總是能夠進行交叉編譯,尤其是在業余條件下!舉
例來說,我們至今無法生成惠普公司專有的som格式的可執行文件,因此我們根本無法做目的平臺為
HPPA-HPUX的交叉編譯。

就我們這個項目而言,需要交叉編譯的原因有兩個:首先,在項目的起始階段,目的平臺尚未建立,因此需
要做交叉編譯,以生成我們所需要的bootloader(啟動引導代碼)以及操作系統核心;其次,當目的平臺能
啟動之后,由于目的平臺上資源的限制,當我們編譯大型程序時,依然可能需要用到交叉編譯。



三、交叉編譯的基礎知識
在做實際工作之前,我想我們應該先把握一些關于交叉編譯的基本知識,其實說白了也就是理解一些我們經
常會碰到的英文單詞;)

host 主機平臺。
target 目的平臺。
perfix 交叉編譯器的安裝位置。
xxx-xxxx-xxxxx 平臺描述。

我們在主機平臺上開發程序,并在這個平臺上運行交叉編譯器,編譯我們的程序;而由交叉編譯器生
成的程序將在目的平臺上運行。這里值得說明得是平臺描述,象arm-linux、i386-pc-linux2.4.3這樣的字
符串我們經常會看到,其實它是用來描述平臺的,它有完整格式、縮減格式和別名之分。完整格式是:
CPU-制造廠商-操作系統,如sparc-sun-sunos4.1.4,說明平臺所使用的CPU是sparc,制造廠商是sun,上面
運行的操作系統是SunOS,版本是4.1.4。當然,我們都不愿記這么長的東西,因此可以使用短格式,短格式
中有選擇地去處了制造廠商、軟件版本等信息,因此我們同樣可以用sparc-sunos或sparc-sunos-sunos4來

描述這個平臺。假如覺得這個還是太麻煩,那就可以使用別名,sun4m就可以很簡單地描述這個平臺。需要
注重的是,并不是所有的平臺都有別名,也不是所有的短格式都可以正確地描述平臺。



四、我需要預備些什么
怎么說呢,你先得預備好主機平臺,對我們這個項目來說,我們建議采用x86 Linux做主機平臺,因為這樣需
要的設置工作最少。當然你也可以使用你所喜歡的平臺或你所能得到的平臺,其中的區別在于你可能必須做
更多的設置工作,當然也有這種可能,就是你所選擇的主機平臺根本不能生成適用于目標平臺的正確的交叉
編譯器。

對于交叉編譯器,可以自己生成,也可以從網上下載。區別在于從網上下載非常簡單方便,但也許你找不到
適合你所選擇的平臺的。而自己生成交叉編譯器,有時會碰到很多挫折,但這的確是個有趣的值得懷念的經
歷。

假如你想自己生成交叉編譯器,那你必須先預備下面這些東西

1、磁盤空間。至少要500M左右的空間,假如想一氣呵成的話,那就要900M-1G的空間。
2、各種源代碼。你至少要預備binutils-2.11.2、gcc-2.95.3、linux-2.4.6、newlib-1.8.2或glibc-2.2.2
的源代碼。

假如你所使用的主機平臺不是運行的linux,那你還必須注重以下這些問題

1、GNU bash必須是默認shell,所以你也許得把/bin/sh改成bash。
2、你要確認已經安裝了GNU bison,因為這些軟經同樣使用了bison擴展。
3、GNU gmake最好是系統默認得make,因為這些軟件都使用了gmake擴展,假如不是,在需要make時,記得
使用gmake。
4、假如你想生成交叉glibc,則GNU gsed必須是默認sed,因為glibc會用到gsed的擴展。
5、假如你想生成交叉glibc,那還必須預備glibc-linuxthreads-2.2.2的源代碼。
6、確認正確的路徑搜索順序,最好讓GNU軟件首先被執行。



五、怎樣生成交叉編譯器
我們建議使用現成的腳本來生成交叉編譯器,因為在配置交叉編譯器時,會經常使用一些難以理解的開關項。

待續。。。。。。



六、參考文獻
http://www.objsw.com/CrossGCC/ 這是一個老牌的交叉編譯FAQ,可惜最近已經很少更新了。
http://crossgcc.billgatliff.com/ 這是一個新生的交叉編譯FAQ,目前更新比較頻繁。
crossgcc@sourceware.cygnus.com 交叉編譯器的郵件列表。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品露脸国产偷人在视频| 日韩一中文字幕| 亚洲日韩欧美视频| 国产亚洲欧美日韩美女| 日韩视频亚洲视频| 欧美日韩福利电影| 色偷偷av一区二区三区| 亚洲精品视频二区| 91国产精品电影| 91精品中文在线| 97碰在线观看| www.亚洲天堂| 日韩av资源在线播放| 欧美小视频在线观看| 成人午夜高潮视频| 亚洲欧美精品中文字幕在线| 久久久久成人精品| 中文字幕亚洲欧美日韩在线不卡| 亚洲天堂av在线免费| 成人午夜激情免费视频| 日韩精品免费电影| 国产午夜精品久久久| 日韩美女视频中文字幕| 久久久久久久久久亚洲| 国产精品一区二区久久精品| 欧美精品免费看| 综合136福利视频在线| 亚洲国产成人一区| 日韩电影网在线| 亚洲精品日韩久久久| 亚洲国产成人在线播放| 欧美精品少妇videofree| 亚洲aaaaaa| 国产精品最新在线观看| 国产精品欧美亚洲777777| 日韩在线观看av| 91美女福利视频高清| 亚洲欧美日韩爽爽影院| 亚洲激情视频在线播放| www.亚洲天堂| 日韩欧美国产黄色| 国内精品一区二区三区四区| 国产做受69高潮| 18久久久久久| 亚洲天堂免费观看| 亚洲精品一区二区三区婷婷月| 国产精品久久久久影院日本| 欧美精品第一页在线播放| 精品视频偷偷看在线观看| 69久久夜色精品国产7777| 久久久精品久久| 日本sm极度另类视频| 中文字幕欧美亚洲| 亚洲另类图片色| 亚洲区免费影片| 操人视频在线观看欧美| 久久亚洲一区二区三区四区五区高| 国产精品入口尤物| 国产成人av在线播放| 91经典在线视频| 日产日韩在线亚洲欧美| 日韩亚洲欧美中文在线| 亚洲男人天堂古典| 国产精品视频导航| 97精品伊人久久久大香线蕉| 亚洲第一网站免费视频| 国产一区二区三区18| 成人深夜直播免费观看| 伊人亚洲福利一区二区三区| 亚洲精品久久久久久下一站| 欧美激情视频一区二区| 亚洲天堂免费在线| 欧美国产日韩中文字幕在线| 91亚洲永久免费精品| 狠狠躁夜夜躁人人爽天天天天97| 久久99精品视频一区97| 欧美国产极速在线| 色悠悠久久88| 色无极影院亚洲| 日本成人精品在线| 亚洲最新中文字幕| 庆余年2免费日韩剧观看大牛| 国产激情久久久| 精品视频在线播放色网色视频| 在线观看日韩视频| 久久久极品av| 国产精品都在这里| 国产亚洲成av人片在线观看桃| 日韩在线观看免费全| 清纯唯美日韩制服另类| 亚洲裸体xxxx| 国产精品久久久av| 清纯唯美日韩制服另类| 久久精品国产清自在天天线| 中文国产亚洲喷潮| 欧美视频在线观看免费| 亚洲国产精品成人精品| 国产精品久久久久久久美男| 精品国产1区2区| 奇米成人av国产一区二区三区| 岛国av一区二区在线在线观看| 日韩电影在线观看永久视频免费网站| 成人观看高清在线观看免费| 国产精品中文字幕在线观看| 欧美精品videossex性护士| 日韩在线免费视频| 久久精品视频播放| 欧美精品999| 精品国产一区av| 国产日韩一区在线| 国产成人综合久久| 久久99国产综合精品女同| 911国产网站尤物在线观看| 欧美一级片一区| 日本中文字幕成人| 国产精品网站视频| 深夜福利一区二区| 成人黄色av免费在线观看| 久久亚洲精品视频| 亚洲综合中文字幕在线| 国产精品免费久久久久影院| 一区二区亚洲精品国产| 性欧美xxxx交| 久久精品视频播放| 成人国产精品久久久久久亚洲| 日韩视频免费在线| 国产成人拍精品视频午夜网站| 91日本在线视频| 欧美激情一区二区三级高清视频| 亚洲精品v天堂中文字幕| 国产精品入口免费视| 91视频国产一区| 日韩在线不卡视频| 亚洲人在线视频| 亚洲精品美女在线观看播放| 亚洲区在线播放| 日本国产一区二区三区| 久久伊人免费视频| 国产精品视频不卡| 欧美激情亚洲精品| 欧美与欧洲交xxxx免费观看| 日韩亚洲一区二区| 日韩精品一区二区三区第95| 国产精品视频免费观看www| 久久99精品久久久久久噜噜| 最好看的2019年中文视频| 亚洲精选在线观看| 国产精品露脸自拍| 精品亚洲精品福利线在观看| 国产精品手机播放| 亚洲天堂男人天堂| 中文字幕久久久av一区| 91精品久久久久久久久青青| 亚洲国产精品成人一区二区| 亚洲一级黄色av| 国产精品91一区| 亚洲专区在线视频| 成人激情视频在线播放| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美午夜激情在线| 欧美性生活大片免费观看网址| 国产精品一区二区3区| 欧美最猛黑人xxxx黑人猛叫黄| 久久综合久久美利坚合众国|