黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

交叉編譯cross compiling

系統(tǒng) 2138 0

什么是交叉編譯呢,簡(jiǎn)單地說(shuō),就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。這里需要注意的是所謂
平臺(tái),實(shí)際上包含兩個(gè)概念:體系結(jié)構(gòu)( Architecture )、操作系統(tǒng)( Operating System )。同一個(gè)體系結(jié)
構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。

?

嵌入式系統(tǒng)往往資源都是很有限的,如果其資源和我們平常用的桌面計(jì)算機(jī)(在嵌入式系統(tǒng)開(kāi)發(fā)中我們稱(chēng)之為主機(jī), host machine )一樣,那我想可能就不存在交叉編譯這么一說(shuō)了。最為典型的是,嵌入式系統(tǒng)的內(nèi)存往往是幾兆字節(jié),且只有 FLASH 而沒(méi)有硬盤(pán)這種大容量存儲(chǔ)設(shè)備。也就是說(shuō)在這種資源有限的環(huán)境中,我們 不可能 將我們的開(kāi)發(fā)工具安裝在嵌入式設(shè)備中(在嵌入式系統(tǒng)開(kāi)發(fā)中我們稱(chēng)之為目標(biāo)機(jī), target machine ),然后象我們平時(shí)做桌面開(kāi)發(fā)那樣,在上面進(jìn)行編碼、調(diào)試最后發(fā)布軟件。

?

現(xiàn)實(shí)情況是,嵌入式系統(tǒng)的開(kāi)發(fā)是在主機(jī)上進(jìn)行的,那就存在一個(gè)問(wèn)題:當(dāng)我們的目標(biāo)機(jī)處理器與主機(jī)的處理器不同時(shí)(比如目標(biāo)機(jī)是 ARM 處理器,而主機(jī)是 x86 處理器),在這種請(qǐng)況下,如何保證在主機(jī)上編譯的程序能在目標(biāo)機(jī)上運(yùn)行呢? 答案在于編譯器上 !我們說(shuō)嵌入式開(kāi)發(fā)用的編譯器與我們平時(shí)做桌面開(kāi)發(fā)的編譯器是不同的,在平時(shí),我們的編譯器是運(yùn)行在什么處理器上,其編譯出來(lái)的可執(zhí)行程序也是運(yùn)行在同樣的處理器上的。實(shí)際上, 我們可以讓一個(gè)編譯器運(yùn)行在 x86 主機(jī)上,卻編譯出可以在 ARM 上運(yùn)行的可執(zhí)行程序 ,這種編譯器就是交叉編譯器( cross compiler ),而采用交叉編譯器進(jìn)行編譯就是指交叉編譯( cross compiling ),而交叉編譯器相關(guān)的環(huán)境就是指交叉編譯環(huán)境( cross compiling environment )。

?

舉一個(gè)例子,這個(gè)例子就是 VxWorks 一種嵌入式實(shí)時(shí)操作系統(tǒng) )的 Workbench (在早期版本中是 Tornado 協(xié)同仿真環(huán)境 )。這是一個(gè) VxWorks 的開(kāi)發(fā)環(huán)境,其除了采用 Eclipse 作為 IDE 外,后面采用的是 GNU GCC 編譯器進(jìn)行程序編譯。有人可能要問(wèn), GCC 能運(yùn)行在 Windows 上?其實(shí), GCC 不是直接運(yùn)行在 Windows 上的, Workbench 采用 Cygwin windows 平臺(tái)上運(yùn)行的 unix 模擬環(huán)境 )作為其編譯器的支撐環(huán)境,也就是說(shuō) GCC 及其 binutils 是運(yùn)行在 Cygwin 上的。采用 Workbench 我們可以開(kāi)發(fā)幾乎所有主流處理器的嵌入式產(chǎn)品,而所有的工作都在 Windows 上完成的!

至此,相信你對(duì)交叉編譯、交叉編譯器和交叉編譯環(huán)境有了很好的了解了。?

?

?

交叉編譯cross compiling


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論