91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子教材>嵌入式系統(tǒng)的教程資料合集免費(fèi)下載

嵌入式系統(tǒng)的教程資料合集免費(fèi)下載

2019-04-01 | zip | 1.43 MB | 次下載 | 1積分

資料介紹

本文檔的主要內(nèi)容詳細(xì)介紹的是嵌入式系統(tǒng)的教程資料合集免費(fèi)下載包括了:GCC中文手冊(cè),Linux系統(tǒng)命令及其使用詳解大全,makefile的詳細(xì)資料介紹,Makefile介紹,Makefile中文手冊(cè),Richard Stallman和自由軟件運(yùn)動(dòng),Vi命令資料

  什么是makefile?或許很多Winodws的程序員都不知道這個(gè)東西,因?yàn)槟切¦indows的IDE 都為你做了這個(gè)工作,但我覺(jué)得要作一個(gè)好的和professional 的程序員,makefile還是要懂。這就好像現(xiàn)在有這么多的HTML的編輯器,但如果你想成為一個(gè)專業(yè)人士,你還是要了解HTML的標(biāo)識(shí)的含義。特別在Unix下的軟件編譯,你就不能不自己寫(xiě)makefile了,會(huì)不會(huì)寫(xiě)makefile,從一個(gè)側(cè)面說(shuō)明了一個(gè)人是否具備完成大型工程的能力。

  因?yàn)椋琺akefile關(guān)系到了整個(gè)工程的編譯規(guī)則。一個(gè)工程中的源文件不計(jì)數(shù),其按類型、功能、模塊分別放在若干個(gè)目錄中,makefile定義了一系列的規(guī)則來(lái)指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進(jìn)行更復(fù)雜的功能操作,因?yàn)閙akefile就像一個(gè)Shell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令。

  makefile帶來(lái)的好處就是——“自動(dòng)化編譯”,一旦寫(xiě)好,只需要一個(gè)make命令,整個(gè)工程完全自動(dòng)編譯,極大的提高了軟件開(kāi)發(fā)的效率。make是一個(gè)命令工具,是一個(gè)解釋makefile 中指令的命令工具,一般來(lái)說(shuō),大多數(shù)的IDE都有這個(gè)命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可見(jiàn),makefile都成為了一種在工程方面的編譯方法。

  現(xiàn)在講述如何寫(xiě)makefile的文章比較少,這是我想寫(xiě)這篇文章的原因。當(dāng)然,不同產(chǎn)商的make各不相同,也有不同的語(yǔ)法,但其本質(zhì)都是在“文件依賴性”上做文章,這里,我僅對(duì)GNU的make進(jìn)行講述,我的環(huán)境是RedHat Linux 8.0,make的版本是3.80。必竟,這個(gè)make 是應(yīng)用最為廣泛的,也是用得最多的。而且其還是最遵循于IEEE1003.2-1992 標(biāo)準(zhǔn)的(POSIX.2)。

  在這篇文檔中,將以C/C++的源碼作為我們基礎(chǔ),所以必然涉及一些關(guān)于C/C++的編譯的知識(shí),相關(guān)于這方面的內(nèi)容,還請(qǐng)各位查看相關(guān)的編譯器的文檔。這里所默認(rèn)的編譯器是UNIX下的GCC和CC。

  關(guān)于程序的編譯和鏈接

  在此,我想多說(shuō)關(guān)于程序編譯的一些規(guī)范和方法,一般來(lái)說(shuō),無(wú)論是C、C++、還是pas,首先要把源文件編譯成中間代碼文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,這個(gè)動(dòng)作叫做編譯(compile)。然后再把大量的Object File合成執(zhí)行文件,這個(gè)動(dòng)作叫作鏈接(link)。

  編譯時(shí),編譯器需要的是語(yǔ)法的正確,函數(shù)與變量的聲明的正確。對(duì)于后者,通常是你需要告訴編譯器頭文件的所在位置(頭文件中應(yīng)該只是聲明,而定義應(yīng)該放在C/C++文件中),只要所有的語(yǔ)法正確,編譯器就可以編譯出中間目標(biāo)文件。一般來(lái)說(shuō),每個(gè)源文件都應(yīng)該對(duì)應(yīng)于一個(gè)中間目標(biāo)文件(O文件或是OBJ文件)。

  鏈接時(shí),主要是鏈接函數(shù)和全局變量,所以,我們可以使用這些中間目標(biāo)文件(O文件或是OBJ文件)來(lái)鏈接我們的應(yīng)用程序。鏈接器并不管函數(shù)所在的源文件,只管函數(shù)的中間目標(biāo)文件(Object File),在大多數(shù)時(shí)候,由于源文件太多,編譯生成的中間目標(biāo)文件太多,而在鏈接時(shí)需要明顯地指出中間目標(biāo)文件名,這對(duì)于編譯很不方便,所以,我們要給中間目標(biāo)文件打個(gè)包,在Windows 下這種包叫“庫(kù)文件”(Library File),也就是 .lib 文件,在UNIX下,是Archive File,也就是 .a 文件。

  總結(jié)一下,源文件首先會(huì)生成中間目標(biāo)文件,再由中間目標(biāo)文件生成執(zhí)行文件。在編譯時(shí),編譯器只檢測(cè)程序語(yǔ)法,和函數(shù)、變量是否被聲明。如果函數(shù)未被聲明,編譯器會(huì)給出一個(gè)警告,但可以生成Object File。而在鏈接程序時(shí),鏈接器會(huì)在所有的ObjectFile中找尋函數(shù)的實(shí)現(xiàn),如果找不到,那到就會(huì)報(bào)鏈接錯(cuò)誤碼(Linker Error),在VC下,這種錯(cuò)誤一般是:Link 2001錯(cuò)誤,意思說(shuō)是說(shuō),鏈接器未能找到函數(shù)的實(shí)現(xiàn)。你需要指定函數(shù)的Object File.

  好,言歸正傳,GNU的make有許多的內(nèi)容,閑言少敘,還是讓我們開(kāi)始吧。Makefile 介紹

  make命令執(zhí)行時(shí),需要一個(gè) Makefile 文件,以告訴make命令需要怎么樣的去編譯和鏈接程序。

  首先,我們用一個(gè)示例來(lái)說(shuō)明Makefile的書(shū)寫(xiě)規(guī)則。以便給大家一個(gè)感興認(rèn)識(shí)。這個(gè)示例來(lái)源于GNU的make使用手冊(cè),在這個(gè)示例中,我們的工程有8個(gè)C文件,和3個(gè)頭文件,我們要寫(xiě)一個(gè)Makefile來(lái)告訴make命令如何編譯和鏈接這幾個(gè)文件。我們的規(guī)則是:

  1)如果這個(gè)工程沒(méi)有編譯過(guò),那么我們的所有C文件都要編譯并被鏈接。

  2)如果這個(gè)工程的某幾個(gè)C文件被修改,那么我們只編譯被修改的C文件,并鏈接目標(biāo)程序。

  3)如果這個(gè)工程的頭文件被改變了,那么我們需要編譯引用了這幾個(gè)頭文件的C文件,并鏈接目標(biāo)程序。

  只要我們的Makefile寫(xiě)得夠好,所有的這一切,我們只用一個(gè)make命令就可以完成,make命令會(huì)自動(dòng)智能地根據(jù)當(dāng)前的文件修改的情況來(lái)確定哪些文件需要重編譯,從而自己編譯所需要的文件和鏈接目標(biāo)程序。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1常用電子元器件集錦
  2. 1.72 MB   |  24476次下載  |  免費(fèi)
  3. 2EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
  4. 0.42 MB   |  6次下載  |  2 積分
  5. 3低壓降肖特基整流管SR340L數(shù)據(jù)手冊(cè)
  6. 0.78 MB   |  2次下載  |  免費(fèi)
  7. 4CPCI6310型復(fù)合視頻采集板資料
  8. 0.04 MB   |  1次下載  |  免費(fèi)
  9. 5W25X16W25X32\W25X64 數(shù)據(jù)手冊(cè)
  10. 1.02 MB   |  1次下載  |  1 積分
  11. 6LESD3Z5.0C系列 SOD-323塑料封裝ESD保護(hù)二極管規(guī)格書(shū)
  12. 1.92 MB   |  次下載  |  免費(fèi)
  13. 7DFN2020-3L塑料封裝ESD保護(hù)二極管SD15VHHU系列規(guī)格書(shū)
  14. 1.12 MB   |  次下載  |  免費(fèi)
  15. 8快恢復(fù)二極管FR101 THRU FR107數(shù)據(jù)手冊(cè)
  16. 0.86 MB   |  次下載  |  免費(fèi)

本月

  1. 1常用電子元器件集錦
  2. 1.72 MB   |  24476次下載  |  免費(fèi)
  3. 2三相逆變主電路的原理圖和PCB資料合集免費(fèi)下載
  4. 27.35 MB   |  111次下載  |  1 積分
  5. 3運(yùn)算放大器基本電路中文資料
  6. 1.30 MB   |  16次下載  |  免費(fèi)
  7. 4蘋(píng)果iphone 11電路原理圖
  8. 4.98 MB   |  11次下載  |  5 積分
  9. 5常用電子元器件介紹
  10. 3.21 MB   |  8次下載  |  免費(fèi)
  11. 6EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
  12. 0.42 MB   |  6次下載  |  2 積分
  13. 7QW2893應(yīng)急燈專用檢測(cè)芯片
  14. 590.40 KB  |  4次下載  |  免費(fèi)
  15. 8相關(guān)協(xié)議信號(hào)總結(jié)
  16. 0.94 MB   |  4次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935130次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183344次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81591次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73816次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分
主站蜘蛛池模板: 91久久人澡人人添人人爽 | 亚洲国内精品自在线影视 | 玖玖在线免费视频 | 黄色3级| 亚洲国产日韩欧美在线as乱码 | 亚洲小便 | 国产精品亚洲玖玖玖在线靠爱 | 尤物黄色| 成人看片免费无限观看视频 | 婷婷丁香色综合狠狠色 | 夜夜精品视频 | 日韩免费无砖专区2020狼 | 在线精品国产三级 | 日本wwwxx| 亚洲黄色激情网 | 久久精品女人天堂 | 高清人人天天夜夜曰狠狠狠狠 | 久久天天躁狠狠躁夜夜免费观看 | 中文天堂最新版在线中文 | 一级大片免费观看 | 午夜久久福利 | 日本口工福利漫画无遮挡 | 亚洲一区二区精品推荐 | 欲色影视香色天天影视来 | 日本大片黄色 | 91热成人精品国产免费 | 在线一区二区观看 | 九九天天影视 | 天天操天天爽天天射 | 国产日日干 | 俺不色| 欧亚精品卡一卡二卡三 | 国产高清在线精品 | 欧美一欧美一区二三区性 | 久久久久久久久综合影视网 | 天天射天天干天天色 | 中文天堂最新版在线中文 | 五月综合色婷婷影院在线观看 | 8天堂资源在线 | 91极品视频在线观看 | 精品国产第一页 |