Linux環境下C程式設計

Linux環境下C程式設計

《Linux環境下C程式設計》是2021年人民郵電出版社出版的圖書。

基本介紹

  • 中文名:Linux環境下C程式設計
  • 作者:黃繼海,石彥華
  • 出版社:人民郵電出版社
  • 出版時間:2021年
  • 開本:128 開
  • 裝幀:平裝
  • ISBN:9787115506740
內容簡介,作者簡介,目 錄,

內容簡介

本書由淺入深,全面細緻地講述了Linux環境C程式設計,從基本概念到實際操作,從原理到具體實踐,涵蓋了Linux環境下C程式設計的所有重要知識點。第1章介紹Linux作業系統的基本知識和Linux常用命令;第2章介紹常用C語言庫函式;第3章介紹Linux的開發環境;第4章至第9章介紹Linux系統編程,包括檔案I/O、標準I/O庫、進程和信號以及進程間通信等方面的知識;第10章介紹網路編程;第11章介紹GTK+編程。

作者簡介

中州大學信息工程學院副教授,講授課程《Linux環境下C程式設計》、《C程式設計》,主要研究項目及領域: 軟體編程、計算機網路

目 錄

第 一章Linux作業系統基礎 1
1.1 GNU簡介 1
1.2 Linux簡介 1
1.2.1 Linux的核心與發行版 2
1.2.2 Linux系統的特點 3
1.3 Shell命令概述 4
1.3.1 目錄的組織結構 4
1.3.2用戶主目錄和檔案的路徑 5
1.3.3 Linux命令的語法結構 6
1.3.4 Shell命令的分類 6
1.3.5 在線上幫助 6
1.4 檔案與目錄操作 7
1.4.1目錄操作 7
1.4.2 檔案/目錄的創建 10
1.4.3 檔案/目錄的刪除 12
1.4.4 檔案/目錄的複製 13
1.4.5 檔案/目錄的屬性修改 15
1.5 系統運行常用命令 21
1.5.1 進程操作 21
1.5.2 管道和重定向 23
1.6 查找操作命令 25
1.6.1 grep 25
1.6.2 find 25
1.7 其他常用命令 27
1.7.1 檔案系統操作 27
1.7.2 用戶管理 32
1.7.3 網路相關命令 41
1.8 Linux套用軟體包管理 42
1.8.1套用軟體包的分類 42
1.8.2 RPM軟體包的管理 42
1.9 項目實訓一:linux基本命令 43
1.10 本章小結 45
1.11習題一 46
第 2章 常用的C語言庫函式 48
2.1 字元和字元串操作函式 48
2.1.1 字元操作函式 48
2.1.2 字元串操作函式 51
2.2 記憶體管理函式 64
2.2.1 動態記憶體分配函式 64
2.2.2 動態記憶體釋放函式 67
2.2.3 memset函式 69
2.2.4 memcpy函式 69
2.2.5 memmove函式 70
2.3 日期與時間函式 76
2.3.1 time函式 76
2.3.2 localtime函式和gmtime 函式 76
2.3.3 asctime函式和ctime函式 78
2.4 隨機函式 79
2.4.1 rand函式 79
2.4.2 srand函式 80
2.4.3 random函式和srandom函式 81
2.4.4 drand48函式和erand48函式 82
2.5 項目實訓 83
2.6 本章小結 90
習題 90
第3章 編程環境 91
3.1概述 91
3.2 VIM編輯器 92
3.2.1 VIM工作模式 92
3.2.2 VIM操作流程 93
3.2.3 VIM常用命令 94
3.3 GCC編譯器 97
3.3.1 GCC編譯器簡介 97
3.3.2 GCC編譯過程 98
3.3.3 GCC常用選項介紹 100
3.2.4 庫依賴原理 104
3.4 GDB程式調試器 105
3.4.1 在程式中加入調試信息 106
3.4.2 啟動和退出GDB調試器 106
3.4.3 顯示和查找程式原始碼 107
3.4.4設定和管理斷點 108
3.4.5 執行程式和獲得幫助 108
3.4.6控制程式的執行 109
3.4.7查看和設定變數的值 109
3.5 Make工程管理器 110
3.5.1 Make工程管理概述 110
3.5.2 Makefile基本結構 111
3.5.3 Makefile變數 117
3.5.4 Makefile規則 119
3.6 項目實訓:Makefile的編寫 121
3.6.1實訓描述 121
3.6.2編寫流程 123
3.6.3 Make腳本的測試 125
3.7 本章小結 125
習題 125
第四章 檔案操作 128
4.1 檔案系統 128
4.1.1超級塊 129
4.1.2索引節點 129
4.2 基於檔案描述符的I/O 操作 129
4.2.1 檔案的創建、打開與關閉 130
4.2.2 檔案的讀寫操作 132
4.2.3 檔案的定位 134
4.2.4 檔案屬性的修改 136
4.2.5 目錄檔案的操作 138
4.3項目實訓四:日誌管理功能 139
4.3.1實訓描述 139
4.3.2實訓要求 139
4.3.3實訓參考 139
4.4 本章小結 141
4.5 習題四 141
第五章 標準I/O庫 143
5.1 標準流的I/O 操作 143
5.2 流的打開和關閉 143
5.3 緩衝區的操作 144
5.4 直接輸入輸出 145
5.5 格式化輸入輸出 148
5.6 基於字元和行的輸入輸出 151
1.7 項目實訓五:出錯管理功能 154
5.7.1項目描述 154
5.7.2項目要求 154
5.7.3 實訓參考 155
5.8 本章小結 156
5.9 習題五 156
第六章 進程控制 157
6.1 進程概述 157
6.1.1什麼是進程 157
6.1.2進程狀態 158
6.1.3 Linux進程環境 158
6.1.4進程的記憶體映像 159
6.2 進程控制 160
6.2.1 進程創建 160
6.2.2 進程等待 163
6.2.3 結束進程 165
6.2.4 system函式 169
6.3 項目實訓六:進程的實現 170
6.3.1實訓描述 170
6.3.2參考代碼 170
6.3.3編譯運行 171
6.4 本章小結 171
6.5 習題六 172
第七章 執行緒控制 173
7.1 執行緒控制 173
7.1.1 執行緒的創建 173
7.1.2 執行緒的終止 175
7.1.3 執行緒的同步 177
7.1.4 私有數據 182
7.2 項目實訓七:執行緒的實現 185
7.2.1實訓描述 185
7.2.2參考代碼 185
7.2.3編譯 186
7.3 本章小結 186
7.4 習題七 187
第八章 進程間通信 188
8.1 概述 188
8.2 共享記憶體 189
8.3 信號量 194
8.4 管道通信 201
8.4.1 管道的創建和關閉 201
8.4.2 管道的讀寫操作 201
8.5 命名管道 204
8.5.1 命名管道的創建 204
8.5.2 命名管道的使用 205
8.6 訊息佇列 209
8.6.1 訊息佇列的創建與打開 210
8.6.2 向訊息佇列中傳送訊息 211
8.6.3 從訊息佇列中接收訊息 211
8.6.4 訊息佇列的控制 212
8.6.5 綜合示例 212
8.7 項目實訓八:進程之間通信功能的實現 218
8.7.1實訓描述 218
8.7.2參考代碼 218
8.7.3編譯運行 219
8.8 本章小結 220
8.9 習題八 220
第九章 信號及信號處理 221
9.1 信號及其使用 221
9.1.1 Linux信號的產生 221
9.1.2信號的種類 221
9.1.3對信號的回響 224
9.2 信號處理 224
9.2.1信號的捕獲與處理 224
9.2.2信號的禁止 225
9.2.3信號的傳送 228
9.3 本章小結 230
9.4 項目實訓:信號的處理 230
9.4.1實訓描述 230
9.4.2參考代碼 230
9.4.3編譯運行 232
9.5 習題九 233
第十章 網路編程 234
10.1 網路編程的基本概念 234
10.1.1 IP位址 234
10.1.2 連線埠 234
10.1.3 域名 235
10.1.4 TCP和UDP 235
10.2 網路編程基礎 235
10.2.1套接字的概念 235
10.2.3 Socket地址結構 236
10.3網路地址的轉換 237
10.3.1主機位元組序與網路位元組序 237
10.3.2位元組處理函式 238
10.3.3地址轉換函式 238
10.3.4域名與IP位址轉換 239
10.3 TCP通信編程 242
10.3.1 TCP通信原理 242
10.3.2 創建套接字 243
10.3.3 綁定套接字 244
10.3.4 在套接字上監聽 244
10.3.5 接受連線 244
10.3.6 建立連線 245
10.3.7 數據通信 245
10.3.8 關閉連線 246
10.3.9 基於TCP套接口編程示例 246
10.4 UDP通信編程 251
10.4.1 UDP通信原理 251
10.4.2 數據通信 252
10.4.3 基於UDP套接口編程示例 253
10.5 本章小結 257
10.6 項目實訓:區域網路檔案下載 257
10.6.1實訓描述 257
10.6.2參考代碼 257
10.6.3編譯運行 262
10.7 習題十 263
第十一章 Gtk+圖形界面編程 264
11.1 Linux圖形界面開發 264
1.1.1 Linux圖形用戶環境 264
1.1.2 Gtk+簡介 265
11.2 Gtk+程式結構 265
11.2.1 第 一個Gtk+程式 265
11.2.2 GTK+的數據類型 266
11.2.3 初始化GTK+ 266
11.2.4 創建和顯示視窗/構件 267
11.2.5 GTK+的主循環 267
11.3 基本控制項 268
11.3.1視窗 268
11.3.2標籤 271
11.3.3按鈕 273
11.3.4文本框 275
11.4 布局控制項 276
11.4.1表格 276
11.4.2框 279
11.5 信號與事件 282
11.6常用控制項 285
11.6.1下拉選單 285
11.6.2 對話框 288
11.6 項目實訓:貪吃蛇遊戲 290
11.6.1任務描述 290
11.6.2設計思路 290
11.6.3模組結構 290
11.6.4界面設計 291
11.6.5設計描述 292
11.6.7遊戲測試 298
11.6.8設計總結 299
11.7 本章小結 299
11.8 習題十一 299

相關詞條

熱門詞條

聯絡我們