注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Rust系統(tǒng)編程

Rust系統(tǒng)編程

Rust系統(tǒng)編程

定 價(jià):¥119.00

作 者: [印] 普拉布·艾什沃拉 著,劉君 譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302616771 出版時(shí)間: 2022-09-01 包裝: 平裝
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  《Rust系統(tǒng)編程》詳細(xì)闡述了與Rust系統(tǒng)編程相關(guān)的基本解決方案,主要包括Rust工具鏈和項(xiàng)目結(jié)構(gòu),Rust編程語言之旅,Rust標(biāo)準(zhǔn)庫介紹,管理環(huán)境、命令行和時(shí)間,Rust中的內(nèi)存管理,在Rust中使用文件和目錄,在Rust中實(shí)現(xiàn)終端I/O,處理進(jìn)程和信號(hào),管理并發(fā),處理設(shè)備I/O,學(xué)習(xí)網(wǎng)絡(luò)編程,編寫不安全Rust和FFI等內(nèi)容。此外,本書還提供了相應(yīng)的示例、代碼,以幫助讀者進(jìn)一步理解相關(guān)方案的實(shí)現(xiàn)過程。 本書適合作為高等院校計(jì)算機(jī)及相關(guān)專業(yè)的教材和教學(xué)參考書,也可作為相關(guān)開發(fā)人員的自學(xué)用書和參考手冊(cè)。

作者簡介

暫缺《Rust系統(tǒng)編程》作者簡介

圖書目錄

目 錄
第1篇 Rust系統(tǒng)編程入門
第1章 Rust工具鏈和項(xiàng)目結(jié)構(gòu) 3
1.1 技術(shù)要求 3
1.2 為項(xiàng)目選擇正確的Rust配置 4
1.2.1 選擇Rust發(fā)布通道 4
1.2.2 選擇Rust項(xiàng)目類型 6
1.3 Cargo和項(xiàng)目結(jié)構(gòu)簡介 7
1.4 使用Cargo自動(dòng)化構(gòu)建管理 9
1.4.1 構(gòu)建一個(gè)基本的二進(jìn)制項(xiàng)Crate 9
1.4.2 配置Cargo 11
1.4.3 構(gòu)建靜態(tài)庫Crate 13
1.5 自動(dòng)化依賴項(xiàng)管理 14
1.5.1 指定依賴項(xiàng)的位置 15
1.5.2 在源代碼中使用依賴包 16
1.6 編寫和運(yùn)行自動(dòng)化測試 16
1.6.1 用Rust編寫單元測試 17
1.6.2 用Rust編寫集成測試 18
1.6.3 控制測試執(zhí)行 19
1.6.4 按順序或并行運(yùn)行測試 21
1.7 生成項(xiàng)目文檔 21
1.7.1 在Crate中編寫內(nèi)聯(lián)文檔注釋 22
1.7.2 在Markdown文件中編寫文檔 23
1.7.3 運(yùn)行文檔測試 24
1.8 小結(jié) 24
1.9 延伸閱讀 25
第2章 Rust編程語言之旅 27
2.1 技術(shù)要求 28
2.2 分析問題域 28
2.3 系統(tǒng)行為建模 29
2.4 構(gòu)建標(biāo)記化器 32
2.4.1 Tokenizer數(shù)據(jù)結(jié)構(gòu) 32
2.4.2 Tokenizer數(shù)據(jù)處理 36
2.5 構(gòu)建解析器 40
2.5.1 Parser數(shù)據(jù)結(jié)構(gòu) 41
2.5.2 Parser方法 43
2.5.3 運(yùn)算符優(yōu)先級(jí) 47
2.6 構(gòu)建求值器 50
2.7 處理錯(cuò)誤 51
2.8 綜合演練 55
2.9 小結(jié) 57
第3章 Rust標(biāo)準(zhǔn)庫介紹 59
3.1 技術(shù)要求 59
3.2 Rust標(biāo)準(zhǔn)庫和系統(tǒng)編程 59
3.3 探索Rust標(biāo)準(zhǔn)庫 62
3.4 面向計(jì)算的模塊 67
3.4.1 數(shù)據(jù)類型 67
3.4.2 數(shù)據(jù)處理 69
3.4.3 錯(cuò)誤處理 69
3.4.4 外部函數(shù)接口 70
3.4.5 編譯器 70
3.5 面向系統(tǒng)調(diào)用的模塊 70
3.5.1 內(nèi)存管理 70
3.5.2 并發(fā) 72
3.5.3 文件系統(tǒng) 73
3.5.4 輸入/輸出 73
3.5.5 網(wǎng)絡(luò)連接 73
3.5.6 與特定操作系統(tǒng)相關(guān)的模塊 73
3.5.7 時(shí)間 73
3.5.8 異步 73
3.6 構(gòu)建模板引擎 74
3.7 模板語法和設(shè)計(jì) 76
3.7.1 模板文件的常見元素列表 76
3.7.2 模板引擎的概念模型 77
3.7.3 模板引擎的工作原理 79
3.7.4 模板引擎生成HTML的步驟 80
3.7.5 新建庫項(xiàng)目 81
3.7.6 模板引擎的代碼結(jié)構(gòu) 81
3.7.7 數(shù)據(jù)結(jié)構(gòu) 82
3.7.8 關(guān)鍵函數(shù) 83
3.7.9 測試用例 84
3.8 編寫模板引擎 86
3.8.1 解析器的設(shè)計(jì) 86
3.8.2 編寫解析器 87
3.8.3 支持函數(shù) 88
3.8.4 main()函數(shù) 91
3.8.5 執(zhí)行模板引擎 95
3.9 小結(jié) 96
3.10 延伸閱讀 97
第4章 管理環(huán)境、命令行和時(shí)間 99
4.1 技術(shù)要求 100
4.2 項(xiàng)目范圍和設(shè)計(jì)概述 100
4.2.1 要構(gòu)建的內(nèi)容 100
4.2.2 技術(shù)設(shè)計(jì) 103
4.3 使用Rust標(biāo)準(zhǔn)庫 106
4.3.1 路徑操作和目錄迭代 106
4.3.2 時(shí)間測量 108
4.3.3 使用環(huán)境變量 108
4.3.4 使用命令行參數(shù) 110
4.3.5 imagix庫設(shè)計(jì)方法總結(jié) 111
4.4 編寫imagix庫代碼 111
4.4.1 imagix庫的模塊結(jié)構(gòu) 112
4.4.2 添加依賴項(xiàng) 114
4.4.3 遍歷目錄條目 114
4.4.4 調(diào)整圖像大小 115
4.4.5 圖像文件信息統(tǒng)計(jì) 117
4.4.6 錯(cuò)誤處理 118
4.5 開發(fā)命令行應(yīng)用程序 119
4.5.1 設(shè)計(jì)命令行界面 120
4.5.2 使用structopt對(duì)命令行二進(jìn)制文件進(jìn)行編碼 122
4.6 小結(jié) 125
第2篇 在Rust中管理和控制系統(tǒng)資源
第5章 Rust中的內(nèi)存管理 129
5.1 技術(shù)要求 130
5.2 操作系統(tǒng)內(nèi)存管理的基礎(chǔ)知識(shí) 130
5.2.1 內(nèi)存管理生命周期 130
5.2.2 進(jìn)程的內(nèi)存布局 134
5.3 Rust程序的內(nèi)存布局 136
5.3.1 理解Rust程序的內(nèi)存布局 136
5.3.2 棧、堆和靜態(tài)內(nèi)存的特性 139
5.4 Rust內(nèi)存管理生命周期 141
5.4.1 Rust內(nèi)存管理生命周期概述 142
5.4.2 內(nèi)存分配 144
5.4.3 內(nèi)存使用和操作 146
5.4.4 Rust的所有權(quán)規(guī)則 147
5.4.5 Rust借用和引用規(guī)則 148
5.4.6 內(nèi)存釋放 148
5.4.7 內(nèi)存安全 149
5.5 實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu) 150
5.5.1 模板引擎設(shè)計(jì)的變化 152
5.5.2 編寫動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)的代碼 154
5.6 小結(jié) 159
5.7 延伸閱讀 159
第6章 在Rust中使用文件和目錄 161
6.1 技術(shù)要求 161
6.2 理解用于文件操作的Linux系統(tǒng)調(diào)用 161
6.3 在Rust中執(zhí)行文件I/O操作 164
6.3.1 創(chuàng)建 166
6.3.2 打開 166
6.3.3 復(fù)制 167
6.3.4 重命名 167
6.3.5 讀取 167
6.3.6 寫入 168
6.3.7 查詢 168
6.3.8 元數(shù)據(jù) 169
6.3.9 關(guān)閉 170
6.4 了解目錄和路徑操作 170
6.4.1 讀取目錄條目的詳細(xì)信息 172
6.4.2 以編程方式創(chuàng)建目錄結(jié)構(gòu) 173
6.4.3 動(dòng)態(tài)構(gòu)造路徑字符串 173
6.5 設(shè)置硬鏈接、符號(hào)鏈接和執(zhí)行查詢 174
6.5.1 創(chuàng)建硬鏈接 175
6.5.2 創(chuàng)建和查詢符號(hào)鏈接 175
6.6 在Rust中編寫shell命令 176
6.6.1 代碼概述 176
6.6.2 錯(cuò)誤處理 178
6.6.3 源指標(biāo)計(jì)算 180
6.6.4 main()函數(shù) 184
6.7 小結(jié) 186
第7章 在Rust中實(shí)現(xiàn)終端I/O 187
7.1 技術(shù)要求 187
7.2 終端I/O基礎(chǔ)知識(shí) 188
7.2.1 終端的特性 188
7.2.2 Termion Crate 189
7.2.3 定義項(xiàng)目構(gòu)建內(nèi)容 190
7.3 處理終端用戶界面和光標(biāo) 192
7.3.1 編寫數(shù)據(jù)結(jié)構(gòu)和main()函數(shù) 192
7.3.2 初始化文本查看器并獲取終端大小 195
7.3.3 顯示文檔并設(shè)置終端顏色、樣式和光標(biāo)位置 196
7.3.4 退出文本查看器 197
7.4 處理鍵盤輸入和滾動(dòng) 198
7.4.1 偵聽用戶的按鍵 199
7.4.2 定位終端光標(biāo) 200
7.4.3 在終端上啟用滾動(dòng)功能 202
7.5 處理鼠標(biāo)輸入 203
7.6 小結(jié) 205
第8章 處理進(jìn)程和信號(hào) 207
8.1 技術(shù)要求 207
8.2 理解Linux進(jìn)程概念和系統(tǒng)調(diào)用 208
8.2.1 程序和進(jìn)程之間的區(qū)別 208
8.2.2 程序內(nèi)存布局和進(jìn)程管理 209
8.3 深入了解Linux進(jìn)程基礎(chǔ)知識(shí) 211
8.3.1 進(jìn)程管理關(guān)鍵任務(wù)分解 211
8.3.2 創(chuàng)建新進(jìn)程 212
8.3.3 檢查子進(jìn)程的狀態(tài) 213
8.3.4 使用進(jìn)程間通信 213
8.3.5 設(shè)置環(huán)境變量 213
8.3.6 終止進(jìn)程 214
8.3.7 處理信號(hào) 214
8.4 使用Rust生成進(jìn)程 214
8.4.1 生成新的子進(jìn)程 214
8.4.2 終止進(jìn)程 216
8.4.3 檢查子進(jìn)程的執(zhí)行狀態(tài) 217
8.5 處理I/O和環(huán)境變量 218
8.5.1 處理子進(jìn)程的I/O 218
8.5.2 為子進(jìn)程設(shè)置環(huán)境變量 220
8.6 處理恐慌、錯(cuò)誤和信號(hào) 221
8.6.1 中止當(dāng)前進(jìn)程 221
8.6.2 信號(hào)處理 223
8.7 用Rust編寫shell程序 225
8.7.1 新建項(xiàng)目 225
8.7.2 迭代1—生成執(zhí)行命令的子進(jìn)程 225
8.7.3 迭代2—添加對(duì)命令參數(shù)的支持 227
8.7.4 迭代3—支持自然語言命令 228
8.7.5 測試和錯(cuò)誤處理 229
8.7.6 練習(xí)和改進(jìn) 230
8.8 小結(jié) 231
第9章 管理并發(fā) 233
9.1 技術(shù)要求 233
9.2 并發(fā)的基礎(chǔ)知識(shí) 234
9.2.1 并發(fā)與并行 234
9.2.2 多線程的概念 237
9.3 生成和配置線程 239
9.3.1 使用thread::spawn()函數(shù) 240
9.3.2 使用thread::Builder結(jié)構(gòu) 241
9.4 線程中的錯(cuò)誤處理 242
9.5 線程間消息傳遞 245
9.6 通過共享狀態(tài)實(shí)現(xiàn)并發(fā) 247
9.6.1 互斥鎖和原子引用計(jì)數(shù) 248
9.6.2 定義程序結(jié)構(gòu) 249
9.6.3 匯總共享狀態(tài)下的源文件統(tǒng)計(jì)信息 250
9.7 使用計(jì)時(shí)器暫停線程執(zhí)行 254
9.8 小結(jié) 255

第3篇 高 級(jí) 主 題
第10章 處理設(shè)備I/O 259
10.1 技術(shù)要求 259
10.2 了解Linux中設(shè)備I/O的基礎(chǔ)知識(shí) 260
10.2.1 設(shè)備驅(qū)動(dòng)程序 260
10.2.2 設(shè)備類型 262
10.3 執(zhí)行緩沖讀取和寫入操作 263
10.4 使用標(biāo)準(zhǔn)輸入和輸出 266
10.5 I/O上的鏈接和迭代器 268
10.6 處理錯(cuò)誤和返回值 270
10.7 獲取已連接USB設(shè)備的詳細(xì)信息 272
10.7.1 設(shè)計(jì)項(xiàng)目 272
10.7.2 編寫數(shù)據(jù)結(jié)構(gòu)和工具函數(shù) 274
10.7.3 編寫main()函數(shù) 276
10.8 小結(jié) 278
第11章 學(xué)習(xí)網(wǎng)絡(luò)編程 279
11.1 技術(shù)要求 279
11.2 Linux中的網(wǎng)絡(luò)連接基礎(chǔ)知識(shí) 280
11.3 理解Rust標(biāo)準(zhǔn)庫中的網(wǎng)絡(luò)原語 283
11.3.1 Rust網(wǎng)絡(luò)標(biāo)準(zhǔn)庫中的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu) 283
11.3.2 IP地址應(yīng)用示例 284
11.3.3 套接字示例 286
11.4 在Rust中使用TCP和UDP進(jìn)行編程 286
11.4.1 編寫UDP服務(wù)器和客戶端 286
11.4.2 編寫TCP服務(wù)器和客戶端 289
11.5 編寫一個(gè)TCP反向代理 290
11.5.1 代理服務(wù)器類型 291
11.5.2 新建項(xiàng)目 292
11.5.3 編寫源服務(wù)器—結(jié)構(gòu)體和方法 293
11.5.4 編寫源服務(wù)器—main()函數(shù) 295
11.5.5 測試源服務(wù)器 298
11.5.6 編寫反向代理服務(wù)器 299
11.5.7 測試反向代理服務(wù)器 302
11.6 小結(jié) 303
第12章 編寫不安全Rust和FFI 305
12.1 技術(shù)要求 305
12.2 不安全Rust簡介 306
12.2.1 區(qū)分安全Rust和不安全Rust代碼 307
12.2.2 在不安全Rust中的操作 308
12.3 FFI簡介 310
12.3.1 通過FFI接口調(diào)用外部函數(shù) 310
12.3.2 跨FFI邊界共享聯(lián)合體 311
12.4 安全FFI指南 313
12.5 從C中調(diào)用Rust 314
12.5.1 項(xiàng)目操作步驟概述 314
12.5.2 具體操作過程 314
12.6 理解ABI 316
12.6.1 關(guān)于ABI 317
12.6.2 條件編譯選項(xiàng) 317
12.6.3 數(shù)據(jù)布局約定 318
12.6.4 鏈接選項(xiàng) 319
12.7 小結(jié) 319

本目錄推薦

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