freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于armuclinux的嵌入式系統(tǒng)開(kāi)發(fā)(編輯修改稿)

2025-07-11 15:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 x提供的庫(kù) uClibc是經(jīng)過(guò)裁減的。更適合于資源 緊張的嵌入式系統(tǒng)(上回分解已經(jīng)說(shuō)了,應(yīng)用程序很大一部分是在和庫(kù)函數(shù)打交道,而且 大家最 終是鏈在一起,所以庫(kù)函數(shù)大了,你的程序也小不了)。 于是基于這種開(kāi)發(fā)模式的應(yīng)用程序開(kāi)發(fā)變成了 linux下的程序開(kāi)發(fā)。而且在實(shí)際中一般是編 好了程序先在主機(jī)上拿主機(jī)平臺(tái)上的編譯器編譯并且調(diào)試一下( linux 下的編譯器就是 gcc 了),當(dāng)然前提是被調(diào)試的程序中需要的硬件條件主機(jī)具備,例如我的程序中有一段是針 對(duì)串口的,于是先在主機(jī)編一個(gè)串口程序,調(diào)通以后拿目標(biāo)板的編譯器重新編譯一下(如 果看了 上一章“交叉編譯環(huán)境”,這里就不會(huì)暈了),下載到目標(biāo)板上運(yùn)行,一般來(lái)說(shuō)就 可以直接用了。 以上也是為什么我認(rèn)為開(kāi)發(fā)嵌入式 linux程序主機(jī)應(yīng)該選用 linux環(huán)境。對(duì)于以前沒(méi)用過(guò) li nux 的人來(lái)說(shuō)(比如我),開(kāi)發(fā)程序前應(yīng)該花 3, 4 天時(shí)間熟悉 linux環(huán)境,尤其是它的編輯 器,用慣集成編譯環(huán)境的人有時(shí)連編譯器和編輯器的概念都模糊了,所以一般是直接進(jìn)入 集成編譯環(huán)境,連寫帶編一氣呵成,殊不知有 些集成編譯器提供的編輯器弱智的一塌胡涂 ,如果用熟了 linux 下的 emacs,你就會(huì)發(fā)現(xiàn)他們之間的差距大概??要像我和蓋茨那么大 吧。所以編程序時(shí)應(yīng)該選一款優(yōu)秀的編輯器, linux下,我當(dāng)然選 emacs,雖然剛看見(jiàn)它的 感覺(jué)是外表丑陋,使用復(fù)雜。但只要多用多練,對(duì)提高效率很有幫助。(將你的程序用兩 個(gè)編輯器完成,一半是用 emacs的,一半是不用 emacs的,看看效果:-) 對(duì)具體的 linux編程我就不板門弄斧了,需要提個(gè)醒的是咱硬件出身的人作軟件應(yīng)該養(yǎng)成良 好的編程習(xí)慣,別讓作軟件的笑話咱。因?yàn)樽髁诵┚W(wǎng)絡(luò)應(yīng)用,所以介紹一些網(wǎng)絡(luò)編程時(shí)要 用到的網(wǎng)站和書籍 。 unix 網(wǎng)絡(luò)編程 第一卷 . 這可是 linux 網(wǎng)絡(luò)編程的圣經(jīng)級(jí)的書籍 還有 IBM中國(guó)上關(guān)于 linux的教程和文章,都是翻譯過(guò)來(lái)的,有很多寫非常不錯(cuò)。 其實(shí)類似的資源不計(jì)其數(shù),遇到問(wèn)題時(shí)應(yīng)該先到 google上狂搜一圈。 重點(diǎn)想說(shuō)些關(guān)于編譯器的東西,不了解它,在交叉編譯環(huán)境下編譯程序就寸步難行了,這 無(wú)非是因?yàn)榻徊婢幾g環(huán)境下目標(biāo)板編譯器所處的寄人籬下的悲慘環(huán)境。想想在linux下將 m myprogram,最簡(jiǎn)單的一句 gcc – o myprogram myprogram .c 就可以了。(其實(shí)在諸如 VC下你也可以找到類似的命令,集成開(kāi)發(fā)環(huán)境只不過(guò)替你來(lái)調(diào) 用它了)。一切看起來(lái)天經(jīng)地義。 但試著把 /usr/include路徑改一個(gè)名字(比如改成 stupid_include),再這樣編譯一下, 會(huì)發(fā)現(xiàn)程序中被 引用的頭文件(比如 include)都找不到了。因?yàn)榫幾g器看 見(jiàn)這樣的頭文件會(huì)到系統(tǒng)指定的路徑下尋找,而這個(gè)路徑是由環(huán)境變量保存的( linux和 w indows 下都是這樣的)。針對(duì)以上情況,不將路徑名字改回去,但是給編譯器加一個(gè)參數(shù) 如下: gcc – I/usr/stupid_include – o myprogram 會(huì)發(fā)現(xiàn)錯(cuò)誤信息沒(méi)了,一切又 恢復(fù)了往日的寧?kù)o,頓時(shí)明白,不用環(huán)境變量,通過(guò)參數(shù),同樣可以將這些信息告訴編譯 器。 返回來(lái)說(shuō)說(shuō)你的目標(biāo)編譯器,雖然占用了人家的地盤,編譯器,頭文件,庫(kù)文件,一 個(gè)都不少,但你要編一個(gè)程序編譯器照樣發(fā)暈,因?yàn)闆](méi)有環(huán)境變量告訴它自己需要的頭文 件和庫(kù)文件在哪里??磥?lái)只有兩種辦法,一個(gè)是搶占了主機(jī)的環(huán)境變量改成自己的(整個(gè) 兒一個(gè)土匪) ,或者在編譯時(shí)加上必要參數(shù)(還是這樣紳士一些),告訴編譯器需要的文件 的位置。(除此之外,還有其他一些參數(shù)也是如此)。 從源程序到可執(zhí)行文件根據(jù)情況不同可能分好幾步,一般每一步可能都會(huì)有一個(gè)應(yīng)用程序 實(shí)現(xiàn),像 gnu提供的 arm開(kāi)發(fā)工具鏈其實(shí)就是這么一組程序。提供從編譯到鏈接到格式轉(zhuǎn)化 的全套服務(wù)。你可以用 arm- elf- gcc命令一步到底直接產(chǎn)生可執(zhí)行文件(其實(shí)也是在自己 的任務(wù)完成后調(diào)用下一個(gè)程序),也可以每一步加上自己的參數(shù),只作自己的事。 編譯器的主要參數(shù)的使用下次將程序的移植時(shí)再講。這里想說(shuō)一下編譯器產(chǎn)生應(yīng)用程序的 幾個(gè)主要步鄹,講這個(gè)問(wèn)題的原因還是很多人無(wú)法區(qū)分諸如編譯和鏈接,不用問(wèn),這一切 還是 IDE 集成開(kāi)發(fā)環(huán)境惹的禍。有人會(huì)說(shuō), IDE 招你惹你了,你老貶它。其實(shí)不然,首先以 上說(shuō)的東西一般在 IDE的 project菜單下的 option或 build option中找到,只是一般不用管 罷了。另一個(gè)方面, IDE 就像是傻瓜照相機(jī),很多工作他都幫你完成了,使用簡(jiǎn)單。但如果 要做攝影師的話,你就少不了要對(duì)每一 個(gè)細(xì)節(jié)都了解。其實(shí)編譯程序也是一樣。(你可以 對(duì)優(yōu)化,警告級(jí),宏定義等諸多選項(xiàng)進(jìn)行自己的選擇)。以下是幾個(gè)主要步鄹:(以下有 些我也不確認(rèn),如發(fā)現(xiàn)問(wèn)題,請(qǐng)及時(shí)糾正。 (1) 預(yù)編譯。 主要工作就是處理所有#開(kāi)頭的,包括頭文件。以前搞不清頭文件和可執(zhí)行 文件有沒(méi)有什么聯(lián)系(因?yàn)榭偪匆?jiàn)兩個(gè)文件名字取一樣的),現(xiàn)在知道,他們之間沒(méi)有任 何聯(lián)系。在預(yù)編譯結(jié)束后,頭文件的使命就結(jié)束了。在下一次介紹不 同平臺(tái)程序移植時(shí)可 以看到,預(yù)編譯有時(shí)非常有用。 (2) 編譯。編譯應(yīng)該是最主要的一步,就是將源文件生成 CPU能識(shí)別的語(yǔ)言,一般是 后綴 為 .o的目標(biāo)文件,應(yīng)該說(shuō),此時(shí)的文件就已經(jīng)可以執(zhí)行了。當(dāng)然這個(gè)時(shí)候外部函數(shù)等外部 符號(hào)都沒(méi)有引入,對(duì)于被編譯程序來(lái)說(shuō),這些外部符號(hào)還只是留一個(gè)倩影,壓根兒不知它 在不在。你可以在你的程序里調(diào)用一個(gè)不存在的函數(shù),甚至都不用聲明,在編譯階段,很 多編譯器只是給個(gè)警告。只有在鏈接時(shí)才會(huì)報(bào)錯(cuò)。(呵呵,夠弱智?。? (3) 鏈接:鏈接才是清帳的時(shí)候,以前在程序里用到的外部符號(hào)都要把真正的東西交出來(lái) 。你可以指定需要連接在一起的目標(biāo)文件,也可以告訴編譯器庫(kù)文件的名字和路徑(指定 方法下次講)。編譯器會(huì)去找,需要注意的是,庫(kù)的指定需要注意順序。首先,如果不同
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1