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

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

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

定 價:¥68.00

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

ISBN: 9787121253836 出版時間: 2015-01-01 包裝:
開本: 頁數(shù): 字數(shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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