注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)硬件、外部設(shè)備與維護(hù)高質(zhì)量嵌入式Linux C編程

高質(zhì)量嵌入式Linux C編程

高質(zhì)量嵌入式Linux C編程

定 價(jià):¥68.00

作 者: 梁庚、陳明、馬小陸 編著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: LINUX 操作系統(tǒng)/系統(tǒng)開(kāi)發(fā) 計(jì)算機(jī)/網(wǎng)絡(luò)

購(gòu)買這本書(shū)可以去


ISBN: 9787121253836 出版時(shí)間: 2015-01-01 包裝:
開(kāi)本: 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)從嵌入式開(kāi)發(fā)角度出發(fā),以Linux操作系統(tǒng)為開(kāi)發(fā)平臺(tái),將隱藏在系統(tǒng)開(kāi)發(fā)背后的關(guān)于C語(yǔ)言、計(jì)算機(jī)組成原理、計(jì)算機(jī)操作系統(tǒng)等方面的機(jī)制和知識(shí)娓娓道來(lái),不僅能讓讀者知其然,更要讓讀者知其所以然,揭開(kāi)嵌入式Linux C系統(tǒng)開(kāi)發(fā)背后鮮為人知的秘密,并讓這些知識(shí)再反作用于編程實(shí)踐,從而幫助讀者寫出高質(zhì)量的嵌入式Linux C代碼。具體說(shuō)來(lái),本書(shū)主要討論了包括嵌入式C語(yǔ)言高級(jí)編程、嵌入式Linux系統(tǒng)編程、多任務(wù)解決機(jī)制、網(wǎng)絡(luò)編程等多個(gè)方面的話內(nèi)容。

作者簡(jiǎn)介

暫缺《高質(zhì)量嵌入式Linux C編程》作者簡(jiǎn)介

圖書(shū)目錄

目 錄第1章 嵌入式Linux C語(yǔ)言開(kāi)發(fā)工具11.1 嵌入式Linux C語(yǔ)言開(kāi)發(fā)概述11.2 嵌入式Linux C開(kāi)發(fā)環(huán)境11.3 嵌入式文本編輯器21.3.1 基本模式21.3.2 基本操作31.3.3 實(shí)訓(xùn)操作51.4 嵌入式編譯器61.4.1 初識(shí)GCC編譯器61.4.2 gcc命令常用選項(xiàng)及工作流程61.4.3 庫(kù)的使用101.5 嵌入式調(diào)試器121.6 工程管理器151.6.1 Makefile161.6.2 Makefile特性介紹181.7 Eclipse程序開(kāi)發(fā)261.7.1 Eclipse環(huán)境安裝261.7.2 Eclipse C程序開(kāi)發(fā)28第2章 數(shù)據(jù)類型352.1 變量與常量352.2 變量352.2.1 什么是變量352.2.2 變量名和變量值362.2.3 局部變量和全局變量382.3 常量402.4 基本內(nèi)置類型412.4.1 數(shù)據(jù)類型大小422.4.2 陷阱之有符號(hào)與符號(hào)422.5 聲明與定義432.5.1 定義432.5.2 聲明432.6 亂世梟雄:static與extern442.6.1 政權(quán)旗幟static442.6.2 外來(lái)的和尚會(huì)念經(jīng)extern452.7 鐵布衫:const472.8 隱形刺客:auto482.9 閃電飛刀:register492.10 專一王子:volatile502.11 typedef詳解512.11.1 typedef與結(jié)構(gòu)的問(wèn)題512.11.2 typedef與#define的問(wèn)題532.11.3 typedef與#define的另一例532.11.4 typedef與復(fù)雜的變量聲明542.12 枚舉552.12.1 枚舉類型的使用方法552.12.2 枚舉與#define 宏的區(qū)別562.13 聯(lián)合體562.13.1 聯(lián)合體的定義562.13.2 從兩道經(jīng)典試題談聯(lián)合體(union)的使用57第3章 運(yùn)算符、表達(dá)式593.1 運(yùn)算符簡(jiǎn)介593.1.1 運(yùn)算符優(yōu)先級(jí)593.1.2 一些容易出錯(cuò)的優(yōu)先級(jí)問(wèn)題613.1.3 邏輯運(yùn)算符613.2 條件運(yùn)算符和條件表達(dá)式623.3 ++、操作符633.4 位運(yùn)算643.4.1 按位與運(yùn)算及應(yīng)用643.4.2 按位或運(yùn)算及應(yīng)用643.4.3 按位異或運(yùn)算及應(yīng)用653.4.4 左移和右移653.5 C語(yǔ)言性能優(yōu)化:使用位操作65第4章 語(yǔ)句674.1 空語(yǔ)句674.2 基礎(chǔ)語(yǔ)句684.2.1 表達(dá)式語(yǔ)句684.2.2 函數(shù)調(diào)用語(yǔ)句684.3 語(yǔ)句if684.3.1 布爾變量與零值比較694.3.2 整型變量與零值比較694.3.3 浮點(diǎn)變量與零值比較694.3.4 指針變量與零值比較704.3.5 對(duì)if語(yǔ)句的補(bǔ)充說(shuō)明704.4 跳轉(zhuǎn)語(yǔ)句:goto704.5 循環(huán)語(yǔ)句714.5.1 do-while語(yǔ)句724.5.2 for語(yǔ)句724.5.3 循環(huán)語(yǔ)句的效率744.6 break和continue754.6.1 break語(yǔ)句754.6.2 continue語(yǔ)句754.7 switch語(yǔ)句77第5章 數(shù)組與指針795.1 數(shù)組認(rèn)知795.2 使用數(shù)組之常見(jiàn)問(wèn)題805.2.1 數(shù)組的下標(biāo)總是從0開(kāi)始嗎805.2.2 可以使用數(shù)組后面第一個(gè)元素的地址嗎815.2.3 為什么要小心對(duì)待位于數(shù)組后面的那些元素的地址呢825.2.4 數(shù)組作為參數(shù)傳遞給函數(shù)時(shí),可以通過(guò)sizeof得到數(shù)組的大小嗎825.2.5 指針或帶下標(biāo)的數(shù)組名都可以訪問(wèn)元素,哪一種更好呢835.2.6 可以把另外一個(gè)地址賦給一個(gè)數(shù)組名嗎855.2.7 array_name和&array_name有什么不同865.2.8 為什么用const說(shuō)明的常量不能用來(lái)定義一個(gè)數(shù)組的初始大小875.2.9 字符串和數(shù)組有什么不同875.3 指針895.3.1 指針是變量905.3.2 指針的類型和指針?biāo)赶虻念愋?05.3.3 指針的值915.3.4 指針本身所占據(jù)的內(nèi)存區(qū)915.4 指針的運(yùn)算925.4.1 指針的算術(shù)運(yùn)算925.4.2 指針的關(guān)系運(yùn)算925.4.3 間接引用935.4.4 最多可以使用幾層指針935.5 常量指針和指針常量955.5.1 常量指針與指針常量的實(shí)例955.5.2 常量指針的應(yīng)用965.6 空指針及其使用975.6.1 NULL總是被定義為0嗎975.6.2 NULL總是等于0嗎975.6.3 空指針的使用985.7 指針void:萬(wàn)能指針995.8 指針數(shù)組與數(shù)組指針1005.9 字符串函數(shù)詳解1015.10 函數(shù)指針與指針函數(shù)1055.11 復(fù)雜指針聲明:“int * (* (*fp1) (int) ) ;”1065.11.1 基礎(chǔ)1065.11.2 const修飾符1075.11.3 typedef的妙用1085.11.4 函數(shù)指針1095.11.5 右左法則109第6章 內(nèi)存管理1116.1 你的數(shù)據(jù)放在哪里1116.1.1 未初始化的全局變量(.bss段)1116.1.2 初始化過(guò)的全局變量(.data段)1126.1.3 常量數(shù)據(jù)(.rodata段)1126.1.4 代碼(.text段)1136.1.5 棧(stack)1136.1.6 堆(heap)1136.2 內(nèi)存分配方式1146.3 野指針1156.4 常見(jiàn)的內(nèi)存錯(cuò)誤及對(duì)策1156.5 段錯(cuò)誤以及調(diào)試方法1166.5.1 方法一:利用gdb逐步查找段錯(cuò)誤1176.5.2 方法二:分析core文件1186.5.3 方法三:段錯(cuò)誤時(shí)啟動(dòng)調(diào)試1196.5.4 方法四:利用backtrace和objdump進(jìn)行分析1206.6 指針與數(shù)組的對(duì)比121第7章 預(yù)處理、結(jié)構(gòu)體1257.1 宏定義:#define1257.1.1 參宏定義1257.1.2 帶參宏定義1277.2 文件包含1287.3 條件編譯1297.4 宏定義使用技巧1317.5 關(guān)于#和##1327.6 結(jié)構(gòu)體1337.6.1 內(nèi)存字節(jié)對(duì)齊1357.6.2 內(nèi)存對(duì)齊正式原則1387.7 #define和typedef的區(qū)別1397.8 結(jié)構(gòu)體和聯(lián)合體的區(qū)別1397.9 淺談C語(yǔ)言中的位段1397.9.1 位段的使用1407.9.2 位段結(jié)構(gòu)在內(nèi)存中的存儲(chǔ)方式140第8章 函數(shù)1418.1 函數(shù)聲明與定義1418.1.1 定義1418.1.2 聲明與定義不同1428.2 形式參數(shù)和實(shí)際參數(shù)1438.3 參數(shù)傳遞1438.3.1 簡(jiǎn)單變量或數(shù)組元素作為函數(shù)參數(shù)1438.3.2 指針變量或數(shù)組名作為函數(shù)參數(shù)1448.3.3 數(shù)組名作函數(shù)參數(shù)1458.3.4 結(jié)構(gòu)體數(shù)組作函數(shù)參數(shù)1468.4 如何編寫有多個(gè)返回值的C語(yǔ)言函數(shù)1468.4.1 利用全局變量1468.4.2 傳遞數(shù)組指針1488.4.3 傳遞結(jié)構(gòu)體指針1488.5 回調(diào)函數(shù)1498.6 變參函數(shù)詳解:printf的實(shí)現(xiàn)1518.7 可變參數(shù)問(wèn)題152第9章 編碼規(guī)范1559.1 排版1559.2 注釋1589.3 標(biāo)示符名稱163第10章 shell編程16510.1 什么是shell16510.2 幾種流行的shell16510.3 shell程序設(shè)計(jì)(基礎(chǔ)部分)16610.3.1 shell基本語(yǔ)法16610.3.2 shell程序的變量和參數(shù)16710.4 shell程序設(shè)計(jì)的流程控制16910.4.1 test測(cè)試命令16910.4.2 if條件語(yǔ)句17010.4.3 for循環(huán)17110.4.4 while和until循環(huán)17110.4.5 case條件選擇17210.4.6 條件控制語(yǔ)句break和continue17310.4.7 函數(shù)定義17310.5 命令分組17410.6 信號(hào)17410.7 運(yùn)行shell程序的方法17510.8 bash程序的調(diào)試17510.9 bash的內(nèi)部命令176第11章 文件操作17911.1 Linux文件結(jié)構(gòu)17911.1.1 Linux文件系統(tǒng)17911.1.2 Linux目錄結(jié)構(gòu)18011.1.3 Linux文件分類18211.1.4 常見(jiàn)文件類型18311.1.5 Linux文件屬性18311.2 系統(tǒng)調(diào)用18411.3 Linux文件描述符18411.4 不帶緩存的I/O操作18511.4.1 creat函數(shù)18511.4.2 open函數(shù)18611.4.3 read函數(shù)18811.4.4 write函數(shù)18911.4.5 lseek函數(shù)18911.4.6 close函數(shù)18911.4.7 經(jīng)典范例:文件復(fù)制19011.5 帶緩存的I/O操作19111.5.1 三種類型的緩沖19111.5.2 fopen函數(shù)19311.5.3 fclose函數(shù)19411.5.4 fdopen函數(shù)19411.5.5 fread函數(shù)19511.5.6 fwrite函數(shù)19511.5.7 fseek函數(shù)19611.5.8 fgetc函數(shù)、getc函數(shù)和getchar函數(shù)19711.5.9 fputc函數(shù)、putc函數(shù)和putchar函數(shù)19811.6 fgets函數(shù)與gets函數(shù)比較分析19911.7 輸出與輸入20111.7.1 printf函數(shù)、fprintf函數(shù)和sprintf函數(shù)20111.7.2 scanf函數(shù)、fcanf函數(shù)和sscanf函數(shù)203第12章 進(jìn)程控制編程20712.1 為何需要多進(jìn)程(或者多線程),為何需要并發(fā)20712.1.1 進(jìn)程20712.1.2 進(jìn)程分類20812.1.3 進(jìn)程的屬性20812.1.4 父進(jìn)程和子進(jìn)程20812.2 Linux進(jìn)程管理20912.2.1 ps監(jiān)視進(jìn)程工具20912.2.2 pgrep查詢進(jìn)程工具21112.2.3 終止進(jìn)程的工具kill、killall、pkill、xkill21112.2.4 top監(jiān)視系統(tǒng)任務(wù)的工具21312.2.5 進(jìn)程的優(yōu)先級(jí):nice和renice21412.3 Linux進(jìn)程的三態(tài)21512.3.1 三種基本狀態(tài)21512.3.2 三種狀態(tài)間的轉(zhuǎn)換21512.4 Linux進(jìn)程結(jié)構(gòu)21612.5 Linux進(jìn)程控制塊PCB21612.6 Linux進(jìn)程調(diào)度21812.6.1 調(diào)度的目標(biāo)21812.6.2 調(diào)度算法21812.6.3 優(yōu)先級(jí)反轉(zhuǎn)22012.7 進(jìn)程創(chuàng)建22112.7.1 獲取進(jìn)程22112.7.2 啟動(dòng)進(jìn)程:fork( )22212.7.3 啟動(dòng)進(jìn)程:vfork( )22412.7.4 啟動(dòng)進(jìn)程:exec族22512.7.5 啟動(dòng)進(jìn)程:system22812.8 進(jìn)程等待22912.8.1 僵尸進(jìn)程的產(chǎn)生22912.8.2 如何避免僵尸進(jìn)程23112.8.3 wait函數(shù)和waitpid函數(shù)23112.9 進(jìn)程退出23512.9.1 退出方式的不同點(diǎn)23612.9.2 exit( )和_exit( )函數(shù)23612.9.3 exit( )和_exit( )的區(qū)別237第13章 進(jìn)程間通信方式23913.1 進(jìn)程間通信方式概述23913.1.1 進(jìn)程間通信的目的23913.1.2 Linux進(jìn)程間通信方式簡(jiǎn)介24013.2 管道通信24113.2.1 建立名管道24113.2.2 讀寫名管道24213.2.3 名管道應(yīng)用實(shí)例24613.2.4 創(chuàng)建有名管道24813.2.5 讀寫有名管道25013.3 管道通信方式的應(yīng)用場(chǎng)景25313.4 信號(hào)25413.4.1 信號(hào)及信號(hào)來(lái)源25413.4.2 信號(hào)種類25413.4.3 信號(hào)處理方式25613.4.4 信號(hào)發(fā)送25613.4.5 自定義處理信號(hào)方式25813.4.6 信號(hào)集操作26213.4.7 使用信號(hào)注意事項(xiàng)26413.5 消息隊(duì)列26513.5.1 消息隊(duì)列基礎(chǔ)理論26613.5.2 使用消息隊(duì)列26613.5.3 消息隊(duì)列API26713.5.4 消息隊(duì)列的限制26913.5.5 消息隊(duì)列的應(yīng)用實(shí)例27013.6 信號(hào)燈27313.6.1 信號(hào)燈概述27313.6.2 內(nèi)核實(shí)現(xiàn)原理27413.6.3 使用信號(hào)燈27413.6.4 信號(hào)燈API27513.6.5 信號(hào)燈的限制27713.6.6 競(jìng)爭(zhēng)問(wèn)題27713.6.7 信號(hào)燈應(yīng)用實(shí)例27713.7 共享內(nèi)存方式一28113.7.1 內(nèi)核實(shí)現(xiàn)原理28113.7.2 mmap( )及其相關(guān)系統(tǒng)調(diào)用28213.7.3 mmap( )范例28313.7.4 對(duì)mmap( )返回地址的訪問(wèn)28713.8 共享內(nèi)存方式二28913.8.1 系統(tǒng)V共享內(nèi)存原理28913.8.2 系統(tǒng)V共享內(nèi)存API29013.8.3 系統(tǒng)V共享內(nèi)存范例291第14章 多線程編程29514.1 線程概述29514.1.1 為什么有了進(jìn)程的概念后,還要再引入線程呢29514.1.2 多線程的優(yōu)點(diǎn)29614.1.3 多線程的缺點(diǎn)29614.2 多線程的實(shí)現(xiàn)29714.2.1 線程的創(chuàng)建29714.2.2 終止線程29914.2.3 等待線程終止30014.3 線程屬性30014.3.1 線程屬性初始化30114.3.2 線程分離30114.3.3 線程的繼承性30214.3.4 線程的調(diào)度策略30314.3.5 線程的調(diào)度參數(shù)30414.3.6 實(shí)例分析30514.4 線程同步機(jī)制30614.4.1 互斥鎖Mutex30614.4.2 互斥鎖使用實(shí)例30814.4.3 條件變量Conditions31014.4.4 條件變量使用實(shí)例311第15章 網(wǎng)絡(luò)編程31315.1 TCP/IP協(xié)議概述31315.1.1 TCP/IP 起源31315.1.2 TCP/IP的特性與應(yīng)用31515.1.3 互聯(lián)網(wǎng)地址31515.1.4 域名系統(tǒng)31615.1.5 封裝31715.1.6 TCP/IP工作模型31815.1.7 TCP/IP 協(xié)議層31815.1.8 TCP/IP應(yīng)用32015.1.9 網(wǎng)橋、路由器和網(wǎng)關(guān)32115.2 TCP和UDP32215.2.1 TCP協(xié)議32215.2.2 三次握手協(xié)議32215.2.3 TCP數(shù)據(jù)報(bào)頭32315.2.4 UDP協(xié)議32415.2.5 協(xié)議的選擇32415.2.6 IP和端口號(hào)32415.3 套接字32515.3.1 Socket概念32515.3.2 Socket類型32515.3.3 Socket信息數(shù)據(jù)結(jié)構(gòu)32515.3.4 數(shù)據(jù)存儲(chǔ)優(yōu)先順序的轉(zhuǎn)換32615.3.5 地址格式轉(zhuǎn)化32715.3.6 名字地址轉(zhuǎn)化32815.4 網(wǎng)絡(luò)編程33015.4.1 建立Socket33115.4.2 綁定地址33215.4.3 監(jiān)聽(tīng)33315.4.4 接受請(qǐng)求33415.4.5 連接服務(wù)器33515.4.6 發(fā)送數(shù)據(jù)33515.4.7 接收數(shù)據(jù)33615.5 采用TCP協(xié)議的C/S架構(gòu)實(shí)現(xiàn)33815.5.1 模塊封裝33815.5.2 服務(wù)器的實(shí)現(xiàn)34015.5.3 客戶端的實(shí)現(xiàn)34115.6 并發(fā)服務(wù)器模型34215.6.1 多進(jìn)程解決方案34215.6.2 多線程解決方案34215.6.3 調(diào)用fcntl將sockfd設(shè)置為非阻塞模式34815.7 多路轉(zhuǎn)接模型34815.7.1 服務(wù)器的實(shí)現(xiàn)34915.7.2 客戶端的實(shí)現(xiàn)35415.8 采用UDP協(xié)議C/S架構(gòu)的實(shí)現(xiàn)35515.8.1 服務(wù)器的實(shí)現(xiàn)35515.8.2 客戶端的實(shí)現(xiàn)35615.8.3 UDP協(xié)議傳輸文件的實(shí)現(xiàn)357參考文獻(xiàn)360

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)