GNU/LINUX環境編程

GNU/LINUX環境編程 pdf epub mobi txt 電子書 下載2025

出版者:清華大學齣版社
作者:瓊斯
出品人:
頁數:530
译者:張元章
出版時間:2010-3
價格:69.00元
裝幀:平裝
isbn號碼:9787302220657
叢書系列:
圖書標籤:
  • GNU/Linux
  • 編程
  • linux
  • Linux
  • 計算機
  • 入門書
  • Programming
  • linux&unix
  • GNU
  • LINUX
  • 編程
  • 環境
  • 開發
  • 操作係統
  • 基礎
  • 實踐
  • 命令行
  • 腳本
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

《GNU/LINUX環境編程(第2版)》詳細介紹如何開發可以運行於GNU/Linux操作係統的應用程序,經過全麵修訂的第2版涵括所有必要的工具和編程技術,提供豐富的例子來說明GNU/Linux API的使用。GNU/Linux也稱Linux,被譽為操作係統中的“瑞士軍刀”。從iPod之類的小型設備到IBM的Blue Gene之類的超級計算機,都可以看到它的“芳蹤”。GNU/LinuX可以運行於大眾化體係結構之上,從老式的x86處理器到最新的Play Station 3遊戲機采用的cell處理器,不一而舉。

GNU/Linux架構與虛擬化技術

GNU工具,如GCC,make、automake/autoconf,源代碼控製係統,GNU Debugger和Gnuplot

應用程序開發基礎主題,包括庫(動態的和靜態的)、文件處理、管道、套接字和編程基礎等

GNU/Linux過程模型(包括綫程)和POSIXIPC機製(如消息隊列、旗語和共享內存)

shell和腳本編程基礎,從常用的GNU/Linux命令到Bash、Ruby和Python

sed和AWK文本處理,flex和bison解析器

調試和代碼硬化技術,包括軟件測試工具、覆蓋測試和GCov和GPro概要和內存調試工具等

《GNU/LINUX環境編程(第2版)》針對Linux程序員,《GNU/LINUX環境編程(第2版)》詳細介紹如何開發高性能、高安全性的應用程序。經過全麵修訂的第2版涵括所有必要的工具和編程技術,提供豐富示例來說明GNU/Linux APl的用法。全書共5部分34章,主題涉及GNU工具,應用程序開發,shell與腳本編程,調試和提高安全性,虛擬化技術。凡此種種,吸引著近萬名程序員選擇《GNU/LINUX環境編程(第2版)》宋學習GNU/Linux編程技術。

《GNU/LINUX環境編程(第2版)》淺顯易懂,從全局介紹Linux編程基礎,重點強調Linux編程利器的使用,對Linux程序員具有重要的參考和指導作用。

著者簡介

M.Tim Jones是一名嵌入式軟件架構師,也是多部暢銷書的作者,代錶作有AI Application Programming,BSD Sockets Proqramming from a Multilanguage Perspective,Artificial Intelligence:A Systems Approach,還發錶過大量技術文章。他的工程背景很豐富,曾經為太空船開發過內核,也開發過嵌入式係統架構和聯網協議。Tim目前在科羅拉多 Longmont的Emulex公司擔任顧問工程師。

圖書目錄

目錄
第Ⅰ部分 導論
第1章 GNU/Linux的曆史 3
概述 3
Unix操作係統的曆史 3
AT&T UNIX 4
BSD 4
GNU/LINUX的曆史 4
GNU和自由軟件基金會 5
Linux內核 5
閤作 6
Linux的發行 7
小結 7
參考文獻 7
第2章 GNU/Linux係統架構 9
概述 9
係統架構概要 9
Linux內核的架構 10
GNU係統庫(glibc) 11
係統調用接口 11
內核組件 12
硬件 15
小結 16
資源 16
第3章 自由軟件開發 17
概述 17
開放源碼與自由軟件 17
自由軟件項目剖析 18
開源證書 18
GPL 19
Qt公共許可證 19
BSD許可證 20
證書小結 20
開源開發的問題 20
可用性/可靠性斜綫上升 20
文檔問題 21
自我 21
狂熱 21
小結 22
參考文獻 22
資源 22
第4章 Linux虛擬化與仿真 23
概述 23
什麼是虛擬化? 23
虛擬化簡史 24
虛擬化的意義 26
虛擬化的分類 27
完全虛擬化 27
準虛擬化 27
模擬 28
操作係統的虛擬化 29
硬件輔助虛擬化 30
開源虛擬化解決方案 31
QEMU 31
KVM 34
小結 35
第Ⅱ部分 GNU工具
第5章 GNU編譯工具鏈 39
概述 39
編譯簡介 40
GCC的格式(編譯,匯編和鏈接) 41
有用的選項 41
編譯警告 42
GCC優化器 44
-O0優化 45
-O1優化(-O) 45
-O2優化 45
-Os優化 46
-O3優化 46
架構相關的優化 47
調試選項 48
其他工具 48
小結 49
第6章 應用GNU make構建軟件 50
概述 50
示例項目 50
手工編譯 51
buildit腳本 51
簡單的Makefile文件 52
Makefile變量 54
模式匹配規則 57
自動依賴跟蹤 58
小結 60
第7章 庫的構建與使用 61
概述 61
什麼是庫? 61
生成靜態庫 62
共享庫的生成 68
動態加載庫 69
工具 73
file工具 73
size命令 73
nm命令 73
objdump工具 74
ranlib工具 76
小結 76
動態庫API 76
第8章 用automake/autoconf打包 77
概述 77
一個簡單的項目 78
Makefile解決方案 78
自動工具的簡單運用 79
automake工具 81
autoconf工具 82
configure腳本 83
生成的Makefile文件 84
小結 85
第9章 GNU/Linux的源碼控製 86
概述 86
源碼控製的定義 86
源碼控製範例 87
存儲庫的架構 87
修訂模型 88
有用的源碼控製工具 89
CVS 89
SVN 94
Git源碼控製係統 99
小結 104
參考文獻 105
資源 105
第10章 應用Gnuplot進行
?數據可視化 106
概述 106
Gnuplot 106
安裝Gnuplot 107
用戶界麵 107
簡單繪圖 108
繪製文件中的數據 110
3D的函數繪製 111
3D等值綫繪圖 114
隱綫消除 114
將圖保存為文件 115
多圖模式 116
使用Gnuplot的工具 117
小結 117
資源 118
第Ⅲ部分 應用程序開發主題
第11章 GNU/Linux的文件操作 123
概述 123
GNU/Linux的文件操作 123
探究文件操作API 124
創建一個文件句柄 124
打開文件 124
數據的讀寫 126
二進製數據的讀寫 133
基礎API 138
小結 140
文件操作API 141
第12章 管道編程 142
概述 142
管道模型 142
管道和命名管道 143
鏇風式簡介 143
詳細介紹 145
pipe函數 145
函數dup和dup2 147
函數mkfifo 149
係統命令 150
mkfifo命令 150
小結 151
管道編程API 151
第13章 套接字編程簡介 152
概述 152
網絡的分層模型 152
套接字編程的範式 153
主機 154
協議 154
端口 154
地址 154
套接字 155
客戶端/服務器模式 155
應用程序示例 156
日期查詢服務器 157
日期查詢客戶端 160
套接字API小結 161
創建和清除套接字 161
套接字地址 162
套接字的原語 163
其他“雜項”函數 168
其他傳輸協議 169
SCTP的特點 169
SCTP的特點其他 171
多語言視角 171
小結 173
套接字編程API 173
參考文獻 174
資源 174
第14章 GNU/Linux進程模型 175
概述 175
GNU/Linux進程 175
鏇風式簡介 176
用fork創建一個子進程 177
與創建者進程同步 179
捕獲信號 180
發齣信號 181
傳統的進程API 184
fork函數 185
wait函數 186
waitpid函數 187
signal函數 188
pause函數 192
kill函數 192
raise函數 193
exec 變體 194
alarm函數 197
exit函數 198
POSIX信號 199
係統命令 202
ps命令 202
top命令 203
kill命令 203
小結 204
proc文件係統 204
資源 206
API小結 206
第15章 POSIX綫程(P綫程)編程 207
概述 207
什麼是綫程 208
綫程函數基礎 209
P綫程API 209
綫程基礎 210
綫程管理 211
綫程的同步 212
綫程互斥 214
綫程條件變量 218
構建使用綫程的應用程序 224
小結 225
參考資料 225
API小結 225
第16章 消息隊列IPC 227
概述 227
消息隊列簡介 227
創建消息隊列 228
配置一個消息隊列 229
嚮一個消息隊列中寫入消息 230
從消息隊列中讀取消息 231
移除消息隊列 232
消息隊列API 233
msgget函數 233
msgctl函數 236
msgsnd函數 240
msgrcv函數 241
用戶工具 243
小結 245
消息隊列API函數 245
第17章 旗語同步 246
概述 246
旗語理論 246
旗語的類型 247
GNU/Linux旗語快速簡介 248
創建旗語 249
獲取和釋放旗語 250
配置旗語 253
移除旗語 254
旗語API 255
semget函數 256
semctl函數 258
semop函數 264
用戶工具 266
小結 268
旗語API 268
第18章 共享內存編程 269
概述 269
快速瞭解共享內存 270
創建共享內存區段 270
取得共享內存區段的信息 271
共享內存區段的掛接和脫離 272
使用共享內存區段 273
移除共享內存區段 275
共享內存API 276
shmget函數 276
shmctl函數 279
shmat函數 283
shmdt函數 284
使用共享內存區段 285
用戶工具 289
小結 290
參考文獻 290
共享內存API 291
第19章 高級文件操作 292
概述 292
測試文件類型 292
其他stat信息 294
確定當前工作目錄 295
列舉目錄 296
使用inotify進行文件事件通知 299
通知過程 299
從文件係統中移除文件 304
傳輸數據 305
小結 305
高級文件操作API 305
第20章 其他應用程序開發主題 308
概述 308
使用getopt和getopt_long解析
命令行選項 308
時間API 313
用sysinfo收集係統信息 315
使用mmap進行內存映射 317
鎖定和解鎖內存 320
Linux錯誤報告 322
小結 324
API小結 324
第Ⅳ部分 GNU/Linux的shell與腳本
第21章 GNU/Linux標準命令 331
概述 331
重定嚮 331
標準輸入/輸齣/錯誤 332
環境變量 333
腳本調用 334
GNU/Linux基本命令 335
小結 344
第22章 Bourne-Again shell(Bash) 345
概述 345
預備知識 345
示例腳本 346
bash腳本 347
變量 347
條件結構 351
條件 351
case結構 355
循環結構 356
while循環 356
for循環 358
輸入與輸齣 359
函數 361
示例腳本 362
簡單的目錄檔案管理腳本 363
查找今天更新/創建的文件的
腳本程序 364
其他腳本語言 366
小結 366
資源 367
第23章 使用sed進行編輯 368
概述 368
剖析一個簡單的腳本 369
sed空間(緩衝器) 370
典型的sed命令行選項 370
正則錶達式 371
操作範圍 372
基本的sed指令 372
替換(s) 372
刪除(d) 373
打印(p) 373
行的添加(a)、插入(i)以及改變(c) 373
退齣(q) 374
轉換(y) 374
行數(=) 375
保持樣式空間(h) 375
小結 375
一些有用的sed單行程序 376
資源 376
第24章 使用awk進行文本處理 377
概述 377
awk簡史 377
awk結構 377
命令行awk 378
腳本awk 381
其他awk樣式 385
小結 385
有用的awk單行程序 386
第25章 使用flex和bison
生成解析器 387
概述 387
詞法分析和語法處理 387
詞法分析器和解析器的通信 389
flex工具 390
bison工具 393
一個簡單的語法 393
在bison中編寫語法 394
連接語法解析器和詞法分析器 396
構建一個簡單的配置解析器 398
配置文件詞法分析器 399
全局圖像 403
小結 405
第26章 Ruby腳本編程 406
概述 406
Ruby簡介 406
為什麼使用Ruby 407
和其他語言的比較 407
Ruby快速示例 408
語言元素 410
類型和變量 410
控製 411
重復 412
Ruby中的字符串操作 413
關聯數組 414
類與方法 415
高級功能 418
動態代碼 418
異常處理 419
自省 421
其他功能 422
Ruby作為嵌入式語言 422
小結 422
資源 422
第27章 Python腳本編程 423
概述 423
Python簡介 423
為什麼使用Python 424
與其他語言的比較 424
Python快速示例 425
語言元素 428
類型和變量 428
控製 430
循環 430
Python中的字符串操作 432
關聯數組 433
類與方法 434
高級功能 436
動態代碼 437
函數式編程 437
異常處理 438
小結 440
資源 440
第28章 GNU/Linux管理基礎 441
概述 441
Linux文件係統瀏覽 441
套件管理 442
Tar球發布 442
高級套件工具 445
內核更新 448
獲得最新版的內核 448
配置內核 449
構建內核 450
安裝內核 450
配置啓動引導程序(Bootloader) 451
小結 451
第Ⅴ部分 調試與測試
第29章 軟件單元測試框架 455
概述 455
單元測試 455
單元測試框架 457
打造自己的框架 457
C單元測試係統 462
嵌入單元測試 466
expect工具 469
小結 470
資源 471
第30章 用GDB進行調試 472
概述 472
為GDB進行編譯 472
使用GDB 473
啓動GDB 475
查看代碼 475
使用斷點 476
逐步運行程序 478
檢查數據 479
改變數據 479
檢查堆棧 480
停止程序 480
其他GDB調試主題 480
多進程應用程序調試 480
多綫程應用程序調試 481
調試已有的進程 482
事後分析調試 483
小結 484
資源 484
第31章 代碼硬化 485
概述 485
代碼硬化技術 485
返迴值 485
細察用戶/網絡的輸入/輸齣 486
使用安全字符串函數 486
緩衝區溢齣 486
在決定點提供邏輯選擇 487
自識彆結構體 488
報告錯誤 490
降低復雜度,從而減少潛在的錯誤 491
自保護的函數 491
最大調試輸齣 492
內存調試 492
編譯器的支持 492
源碼檢查工具 493
代碼跟蹤 493
小結 495
資源 495
第32章 用GNU gcov進行覆蓋測試 496
概述 496
什麼是gcov 496
準備映像 496
使用gcov工具 498
查看分支概率 499
不完全覆蓋 501
gcov可用的選項 502
注意事項 503
小結 504
參考文獻 504
資源 504
第33章 用GNU gprof進行
性能分析 505
概述 505
什麼是性能分析 505
什麼是gprof 505
準備映像 506
使用gprof工具 508
gprof可用的選項 510
注意事項 513
小結 513
參考文獻 513
第34章 高級調試主題 514
概述 514
內存調試 514
Valgrind工具 514
Electric Fence 517
yamd工具 517
mtrace工具 520
交叉引用工具 521
Cscope工具 521
其他交叉引用工具 522
用ltrace跟蹤係統調用 523
動態掛接GDB 525
小結 527
資源 527
附錄 縮寫與部分縮寫詞 528
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

簡明易懂,喜聞樂見。

评分

南圖

评分

簡明易懂,喜聞樂見。

评分

就是Linux環境編程,多講瞭一點曆史而已。

评分

就是Linux環境編程,多講瞭一點曆史而已。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有