· · 國內領先的嵌入式培訓機構華清遠見出品;
· 真正從企業用人需求出發,培養和提升讀者能力;
· 歷經市場考驗,第三次修訂改版;
· 書中配有大量微課,詳細講解重點難點。
本書結合大量實例,講解了嵌入式應用程序設計的核心概念和基本方法。主要內容包括標準I/O編程、文件I/O編程、多任務編程、進程間通信、多線程編程、Linux網絡編程等。重視應用是貫穿全書的最大特點,本書在各章多處設置了微課,幫助讀者攻克重點與難點。 本書可以作為院校嵌入式相關專業和計算機相關專業的教材,也可以作為計算機軟硬件培訓班教材,還可供嵌入式研究方向的專業人員和廣大計算機愛好者自學使用。
第1章 Linux標準I/O編程 1
1.1 Linux系統調用和用戶程序編程接口 2
1.1.1 系統調用 2
1.1.2 用戶程序編程接口 2
1.2 Linux標準I/O概述 3
1.2.1 標準I/O的由來 3
1.2.2 流的含義 3
1.3 標準I/O編程 4
1.3.1 流的打開 4
1.3.2 流的關閉 5
1.3.3 錯誤處理 6
1.3.4 流的讀寫 7
1.3.5 流的定位 11
1.3.6 格式化輸入/輸出 12
1.4 實驗內容 13
1.4.1 文件的復制 13
1.4.2 循環記錄系統時間 14
小結 16
思考與練習 16
第2章 Linux文件I/O編程 17
2.1 Linux文件I/O概述 18
2.1.1 POSIX規范 18
2.1.2 虛擬文件系統 18
2.1.3 文件和文件描述符 19
2.1.4 文件I/O和標準I/O的區別 20
2.2 文件I/O操作 20
2.2.1 文件打開和關閉 21
2.2.2 文件讀寫 23
2.2.3 文件定位 24
2.2.4 文件鎖 27
2.3 實驗內容—生產者和消費者 33
小結 41
思考與練習 41
第3章 Linux多任務編程 42
3.1 Linux下多任務機制的介紹 43
3.1.1 任務 43
3.1.2 進程 43
3.1.3 線程 49
3.2 進程編程 50
3.2.1 進程編程基礎 50
3.2.2 Linux守護進程 62
3.3 實驗內容—編寫多進程程序 71
小結 76
思考與練習 76
第4章 Linux進程間通信 77
4.1 Linux下進程間通信概述 78
4.2 管道通信 79
4.2.1 管道簡介 79
4.2.2 無名管道系統調用 80
4.2.3 有名管道 83
4.3 信號通信 87
4.3.1 信號概述 87
4.3.2 信號發送與設置 89
4.4 信號量 96
4.4.1 信號量概述 96
4.4.2 信號量編程 97
4.5 共享內存 102
4.6 消息隊列 109
4.7 實驗內容 115
4.7.1 有名管道通信實驗 115
4.7.2 共享內存實驗 121
小結 127
思考與練習 127
第5章 Linux多線程編程 128
5.1 線程基本編程 129
5.2 線程之間的同步與互斥 133
5.2.1 互斥鎖線程控制 133
5.2.2 信號量線程控制 134
5.3 線程屬性 139
5.4 實驗內容—多線程編程 143
小結 150
思考與練習 150
第6章 Linux網絡編程基礎 151
6.1 網絡體系結構 152
6.1.1 OSI模型和TCP/IP模型 152
6.1.2 TCP/IP模型特點 153
6.1.3 TCP和UDP 154
6.2 網絡基礎編程 157
6.2.1 套接字概述 157
6.2.2 IP地址 158
6.2.3 端口 160
6.2.4 字節序 161
6.2.5 TCP編程 161
6.2.6 UDP編程 170
6.3 服務器模型 174
6.3.1 循環服務器(TCP) 174
6.3.2 并發服務器(TCP) 180
小結 183
思考與練習 183
第7章 Linux高級網絡編程 184
7.1 網絡超時檢測 185
7.1.1 套接字接收超時檢測 185
7.1.2 定時器超時檢測 188
7.2 廣播 190
7.2.1 廣播地址 191
7.2.2 廣播包的發送和接收 191
7.3 組播 195
7.3.1 組播地址 195
7.3.2 組播包的發送和接收 195
7.4 UNIX域套接字 199
7.4.1 本地地址 199
7.4.2 UNIX域流式套接字 200
7.4.3 UNIX域用戶數據報套接字 203
小結 206
思考與練習 206