Linux環境編程圖文指南(配視頻教程)

Linux環境編程圖文指南(配視頻教程)

《Linux環境編程圖文指南(配視頻教程)》是2016年4月電子工業出版社出版的圖書,作者是林世霖、鐘錦輝、李建輝。

基本介紹

  • 書名:Linux環境編程圖文指南(配視頻教程)
  • 作者:林世霖、鐘錦輝、李建輝
  • ISBN:9787121280757
  • 頁數:524頁
  • 定價:99元
  • 出版社:電子工業出版社
  • 出版時間:2016年4月
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書從零開始,循序漸進地攻破Linux環境編程所遇到的各級關卡,以圖文並茂的形式幫助讀者理解各個概槳詢狼念。本書內容翔實,囊括了Linux系統操作細節,Shell腳本編程精要,各種編程環境所需要解決的技術難點,以及在Linux環境下的C語言編程技術、並發編程技術和音/視頻編程等核心內容。全紋刪書用近400幅圖表幫助讀者理解複雜概念,因此讀者不需要具備任何計算機編程經驗,在本書的指導下就能進入編程的世界,並能在閱讀和實踐中享受編程的樂趣。旋應棄同時,本書配套完整的視頻教程,給讀者以最直觀、最容易吸收知識的方式,融會貫通書中所有的知識點。不僅如此,讀者還能夠得到作者及其團隊的線上技術支援和答疑。

圖書目錄

目 錄
第1章 Linux編程環境 1
1.1 基本工具 1
1.1.1 免費大餐:Ubuntu 1
1.1.2 桌面系統:gnome 6
1.1.3 網路配置:純手工打造剃櫃厚付 6
1.1.4 軟體集散喇嚷鍵地:APT 8
1.1.5 無敵板斧:vi 10
1.1.6 開發聖典:man 13
1.1.7 配置已分享資料夾 15
1.2 Shell命令 17
1.2.1 概念掃盲 17
1.2.2 命令詳解 19
1.2.3 上古神器 38
1.3 Shell腳本編程 45
1.3.1 開場白 45
1.3.2 腳本格式 45
1.3.3 變酷諒催尋量 46
1.3.4 特殊符號們 48
1.3.5 字元串處理 50
1.3.6 測試語句 51
1.3.7 腳本語法單元 52
1.4 編譯器:GCC 55
1.4.1 簡述 55
1.4.2 編譯過程簡介 55
1.4.3 實用的編譯選項 58
1.5 解剖Makefile 59
1.5.1 工程管理器make 59
1.5.2 概覽性示例 60
1.5.3 書寫格式 60
1.5.4 變數詳解 62
1.5.5 各種規則 71
1.5.6 條件判斷 75
1.5.7 函式 77
1.5.8 實用make選項集錦 85
1.6 GNU-autotools 86
1.6.1 autotools簡介 86
1.6.2 檔案組織 87
1.6.3 configure.ac編寫規則 88
第2章 深度Linux-C 92
2.1 基本要素 92
2.1.1 Linux下C代碼規範 93
2.1.2 基本數據類型 97
2.1.3 運算符 108
2.1.4 控制流 116
2.2 函式 124
2.2.1 函式初體驗 125
2.2.2 函式調用內幕 128
2.2.3 遞歸思維及其實現 130
2.2.4 變參函式 133
2.2.5 回調函式 137
2.2.6 內聯函式 140
2.3 數組與指針 142
2.3.1 數組初階 142
2.3.2 記憶體地址 144
2.3.3 指針初階 145
2.3.4 複雜指針定義 147
2.3.5 指針運算 151
2.3.6 數組與夜盛汗指針 152
2.3.7 複雜數組剖析 155
2.3.8 const指針 158
2.3.9 char指針和char數組 160
2.4 記憶體管理 162
2.4.1 進程記憶體布局 162
2.4.2 堆(Heap) 164
2.5 組合數據類型 167
2.5.1 結構體 167
2.5.2 共用體 171
2.5.3 枚舉 172
2.6 高級議題 173
2.6.1 工程代碼組織 173
2.6.2 頭檔案 175
2.6.3 宏(macro) 176
2.6.4 條件編譯 182
2.6.5 複雜聲明 184
2.6.6 attribute機制 185
第3章 Linux的數據組織 188
3.1 無所不在的鍊表 188
3.1.1 開場白 188
3.1.2 單向鍊表 190
3.1.3 單向循環鍊表 198
3.1.4 雙向循環鍊表 200
3.1.5 Linux核心鍊表 210
3.2 線性表變異體 227
3.2.1 堆疊的盤子:棧 227
3.2.2 文明的社會:佇列 236
3.3 小白慎入:非線性結構 243
3.3.1 基本概念 243
3.3.2 玩轉BST 247
3.3.3 各種的遍歷算法 260
3.3.4 自平衡AVL樹 263
3.3.5 自平衡Linux紅黑樹 273
第4章 I/O編程技術 289
4.1 一切皆檔案 289
4.1.1 檔案的概念 289
4.1.2 各類檔案 290
4.2 檔案操作 290
4.2.1 系統I/O 291
4.2.2 標準I/O 306
4.2.3 檔案屬性 320
4.3 目錄檢索 327
4.3.1 基本概念 327
4.3.2 相關API 328
4.4 觸控屏套用接口 330
4.4.1 輸入子系統簡介 330
4.4.2 TSLIB庫詳解 333
4.4.3 劃屏算法 338
第5章 Linux進程執行緒 345
5.1 Linux進程入門 345
5.1.1 進程概念 345
5.1.2 進程組織方式 346
5.2 進程的“生老病死” 348
5.2.1 進程狀態 348
5.2.2 相關重要API 350
5.3 進程的語言 358
5.3.1 管道 358
5.3.2 信號 363
5.3.3 system-V IPC簡介 380
5.3.4 訊息佇列(MSG) 381
5.3.5 共享記憶體(SHM) 387
5.3.6 信號量(SEM) 392
5.4 Linux執行緒入門 400
5.4.1 執行緒基本概念 400
5.4.2 執行緒API及特點 401
5.5 執行緒安全 410
5.5.1 POSIX信號量 410
5.5.2 互斥鎖與讀寫鎖 415
5.5.3 條件變數 418
5.5.4 可重入函式 421
5.6 執行緒池 422
5.6.1 實現原理 422
5.6.2 接口設計 423
5.6.3 實現源碼 425
第6章 Linux音頻、視頻編程 433
6.1 基本背景 433
6.2 Linux音頻 433
6.2.1 音頻概念 433
6.2.2 標準音頻接口ALSA 436
6.3 Linux視頻輸出 450
6.3.1 基本概念 450
6.3.2 framebuffer 452
6.3.3 在LCD上畫圖 462
6.3.4 效果算法 469
6.4 Linux視頻輸入 478
6.4.1 V4L2簡介 478
6.4.2 V4L2視頻採集流程 478
6.4.3 V4L2核心命令字和結構體 481
6.4.4 編碼格式和媒體流 484
6.5 多媒體開發庫SDL 489
6.5.1 SDL簡介 489
6.5.2 編譯和移植 489
6.5.3 視頻子系統 490
6.5.4 音頻子系統 494
6.5.5 事件子系統 498
6.5.6 處理YUV視頻源 502
6.6 音/視頻編解碼庫FFmpeg 504
6.6.1 FFmpeg簡介 504
6.6.2 核心結構體與常用API 505
6.6.3 與SDL結合實現簡單的播放器511
2.1.2 基本數據類型 97
2.1.3 運算符 108
2.1.4 控制流 116
2.2 函式 124
2.2.1 函式初體驗 125
2.2.2 函式調用內幕 128
2.2.3 遞歸思維及其實現 130
2.2.4 變參函式 133
2.2.5 回調函式 137
2.2.6 內聯函式 140
2.3 數組與指針 142
2.3.1 數組初階 142
2.3.2 記憶體地址 144
2.3.3 指針初階 145
2.3.4 複雜指針定義 147
2.3.5 指針運算 151
2.3.6 數組與指針 152
2.3.7 複雜數組剖析 155
2.3.8 const指針 158
2.3.9 char指針和char數組 160
2.4 記憶體管理 162
2.4.1 進程記憶體布局 162
2.4.2 堆(Heap) 164
2.5 組合數據類型 167
2.5.1 結構體 167
2.5.2 共用體 171
2.5.3 枚舉 172
2.6 高級議題 173
2.6.1 工程代碼組織 173
2.6.2 頭檔案 175
2.6.3 宏(macro) 176
2.6.4 條件編譯 182
2.6.5 複雜聲明 184
2.6.6 attribute機制 185
第3章 Linux的數據組織 188
3.1 無所不在的鍊表 188
3.1.1 開場白 188
3.1.2 單向鍊表 190
3.1.3 單向循環鍊表 198
3.1.4 雙向循環鍊表 200
3.1.5 Linux核心鍊表 210
3.2 線性表變異體 227
3.2.1 堆疊的盤子:棧 227
3.2.2 文明的社會:佇列 236
3.3 小白慎入:非線性結構 243
3.3.1 基本概念 243
3.3.2 玩轉BST 247
3.3.3 各種的遍歷算法 260
3.3.4 自平衡AVL樹 263
3.3.5 自平衡Linux紅黑樹 273
第4章 I/O編程技術 289
4.1 一切皆檔案 289
4.1.1 檔案的概念 289
4.1.2 各類檔案 290
4.2 檔案操作 290
4.2.1 系統I/O 291
4.2.2 標準I/O 306
4.2.3 檔案屬性 320
4.3 目錄檢索 327
4.3.1 基本概念 327
4.3.2 相關API 328
4.4 觸控屏套用接口 330
4.4.1 輸入子系統簡介 330
4.4.2 TSLIB庫詳解 333
4.4.3 劃屏算法 338
第5章 Linux進程執行緒 345
5.1 Linux進程入門 345
5.1.1 進程概念 345
5.1.2 進程組織方式 346
5.2 進程的“生老病死” 348
5.2.1 進程狀態 348
5.2.2 相關重要API 350
5.3 進程的語言 358
5.3.1 管道 358
5.3.2 信號 363
5.3.3 system-V IPC簡介 380
5.3.4 訊息佇列(MSG) 381
5.3.5 共享記憶體(SHM) 387
5.3.6 信號量(SEM) 392
5.4 Linux執行緒入門 400
5.4.1 執行緒基本概念 400
5.4.2 執行緒API及特點 401
5.5 執行緒安全 410
5.5.1 POSIX信號量 410
5.5.2 互斥鎖與讀寫鎖 415
5.5.3 條件變數 418
5.5.4 可重入函式 421
5.6 執行緒池 422
5.6.1 實現原理 422
5.6.2 接口設計 423
5.6.3 實現源碼 425
第6章 Linux音頻、視頻編程 433
6.1 基本背景 433
6.2 Linux音頻 433
6.2.1 音頻概念 433
6.2.2 標準音頻接口ALSA 436
6.3 Linux視頻輸出 450
6.3.1 基本概念 450
6.3.2 framebuffer 452
6.3.3 在LCD上畫圖 462
6.3.4 效果算法 469
6.4 Linux視頻輸入 478
6.4.1 V4L2簡介 478
6.4.2 V4L2視頻採集流程 478
6.4.3 V4L2核心命令字和結構體 481
6.4.4 編碼格式和媒體流 484
6.5 多媒體開發庫SDL 489
6.5.1 SDL簡介 489
6.5.2 編譯和移植 489
6.5.3 視頻子系統 490
6.5.4 音頻子系統 494
6.5.5 事件子系統 498
6.5.6 處理YUV視頻源 502
6.6 音/視頻編解碼庫FFmpeg 504
6.6.1 FFmpeg簡介 504
6.6.2 核心結構體與常用API 505
6.6.3 與SDL結合實現簡單的播放器511

相關詞條

熱門詞條

聯絡我們