內容簡介
《嵌入式Linux C語言開發》一書介紹開發工具和Linux C語言基礎、嵌入式Linux C語言高級用法、核心常見數據結構的解析與套用、嵌入式Linux編程基礎、檔案I/0操作相關的C語言套用、網路通信相關的C語言套用等,並設定了嵌入式Linux C函式參考附錄。學習《嵌入式Linux C語言開發》前應掌握C語言程式設計的基本知識。《嵌入式Linux C語言開發》可作為高等院校嵌入式技術專業以及電子信息類其他專業的教材。
目錄
第1章 嵌入式LinuxC語言開發工具
1.1 嵌入式Linux下C語言概述
1.1.1 C語言簡史
1.1.2 C語言特點
1.1.3 嵌入式L,inuxC語言編程環境
1.2 嵌入式Linux編輯器vi的使用
1.2.1 vi的基本模式
1.2.2 vi的基本操作
1.2.3 vi的使用實例分析
1.3 嵌入式Linux.編譯器GCC的使用
1.3.1 GC~:概述
1.3.2 Gcc編譯流程分析
1.3.3 GCC警告提示
1.3.4 GcC使用庫函式
1.3.5 GCC代碼最佳化
1.4 嵌入式Linux調試器GDB的使用
1.4.1 GDB使用實例
1.4.2 設定刪除斷點
1.4.3 數據相關命令
1.4.4 調試運行環境相關命令
1.4.5 堆疊相關命令
1.5 malke工程管理器
1.5.1 Makefile基本結構
1.5.2 Makefile變數
1.5.3 Makefile規則
1.5.4 make使用
1.6 eclil3se集成開發環境
1.6.1 eclipse簡介
1.6.2 eclipse相關術語
1.6.3 安裝eclipse集成開發環境(假設宿主機環境為ubuntu8.1 0)
1.6.4 eclipse的使用
小結
思考與練習
第2章 嵌入式LinuxC語言基礎
2.1 ANSIC與GNUC
2.1.1 ANSIc簡介
2.1.2 GNuC簡介
2.2 基本數據類型
2.2.1 整型家族
2.2.2 實型家族
2.2.3 字元型家族
2.2.4 枚舉家族
2.2.5 指針家族
2-3變數與常量
2.3.1 變數的定義
2.3.2 typedef
2.3.3 常量的定義
2.4 運算符與表達式
2.4.1 算術運算符和表達式
2.4.2賦值運算符和表達式
2.4.3 逗號運算符和表達式
2.4.4 位運算符和表達式
2.4.5 關係運算符和表達式
2.4.6 邏輯運算符和表達式
2.4.7 sizeof操作符
2.4.8 條件運算符
2.4.9 運算符優先權總結
2.5 程式結構和控制語句
2.5.1 c語言程式結構
2.5.2 C語言控制語句
2.6 數組、結構體和指針
2.6.1 數組
2.6.2 結構體
2.6.3 指針
2.7 函式
2.7.1 概述
2.7.2 函式定義和聲明
2.7.3 函式的參數、返回值和調用方法
2.8 attriI)ute機制介紹
2.9 系統調用和應用程式編程接口
2.9.1 系統調用
2.9.2 應用程式編程接口(API)
2.9.3 系統命令
小結
思考與練習
第3章 嵌入式LinuxC語言高級用法
3.1 預處理
3.1.1 預定義
3.1.2 檔案包含
3.1.3 條件編譯
3.2 c語言中的記憶體分配
3.2.1 c語言程式所占記憶體分類
3.2.2 堆和棧的區別
3.3 程式的可移植性考慮
3.3.1 字長和數據類型
3.3.2 數據對齊
3.3.3 位元組順序
3.4 C語言和彙編語言的接口
3.4.1 內聯彙編的語法
3.4.2 編譯器最佳化介紹
3.4.3 c語言關鍵字volatile
3.4.4 “:memorv”描述符
小結
思考與練習
第4章 嵌入式Linux核心常見數據結構
4.1 鍊表
4.1.1 單向鍊表
4.1.2 雙向鍊表
4.1.3 循環鍊表
4.1.4 ARMLinux中鍊表使用實例
4.2 樹、二叉樹、平衡樹
4.2.1 樹的定義
4.2.2 二叉樹
4.2.3 平衡樹
4.2.4 ARML,inux中紅黑樹使用實例
4.3 哈希表
4.3.1 哈希表的概念及作用
4.3.2 哈希表的構造方法
4.3.3 哈希表的處理衝突方法
4.3.4 ARMLinux中哈希表使用實例
小結
思考與練習
第5章 嵌入式Linux檔案操作
5.1 嵌入式Linux檔案系統概述
5.1.1 虛擬檔案系統(VFS)
5.1.2 通用檔案模型
5.1.3 L,inux下的設備檔案
5.2 嵌入式Linux下的I/0操作
5.2.1 不帶快取的檔案:I/O操作
5.2.2 標準I/O
5.3 嵌入式Linux下對檔案和目錄的操作
5.3.1 檔案類型
5.3.2 檔案訪問許可權
5.3.3 獲取檔案屬性
5.3.4 修改檔案訪問許可權
5.3.5 創建目錄
5.3.6 創建連結檔案
5-3.7 刪除檔案
5.3.8 重命名檔案
5.4 嵌入式Linux串口套用開發
5.4.1 串口概述
5.4.2 串口設定詳解
5.4.3 串口使用詳解
小結
思考與練習
第6章 嵌入式LInux進程和執行緒編程
6.1 Linux進程概述
6.1.1 進程描述符及任務結構
6.1.2 進程的調度
6.1.3 Linux中的執行緒
6.2 Linux進程控制相關API
6.3 嵌入式Linux進程問通信
6.3.1 管道通信
6.3.2 信號通信
6.3.3 共享記憶體
6.3.4 訊息佇列
6.4 嵌入式Linux執行緒相關API
6.5 Linux守護進程
6.5.1 守護進程概述
6.5.2 編寫規則
6.5.3 守護進程實例
小結
思考與練習
第7章 網路通信相關的C語言套用
7.1 TCP/IP簡介
7.1.1 TCPht的分層模型
7.1.2 TCPhf分層模型的特點
7.1.3 TCP/IP核心協定
7.2 套接字的基本知識
7.2.1 套接字(socket)概述
7.2.2 地址及順序處理
7.3 套接字相關的API及套用
7.3.1 socket函式
7.3.2 bind函式
7.3.3 connect函式
7.3.4 listen函式
7.3.5 accept函式
7.3.6 send、recv函式
7.3.7 sendto、recvfrom函式
7.3.8 close、shutdown函式
7.3.9 setsockopt、getsockopt函式
7.3.10 getpemTlame函式
7.3.11 gethostname函式
7.3.12 編程實例
7.4 套接字高級編程
小結
思考與練習
附錄嵌入式LinuxC函式快速參考