Linux環境編程圖文指南( 簡體 字) | |
作者:林世霖,鐘錦輝,李建輝 | 類別:1. -> 作業系統 -> Linux |
出版社:電子工業出版社 | 3dWoo書號: 43897 詢問書籍請說出此書號! 有庫存 NT售價: 495 元 |
出版日:4/1/2016 | |
頁數:524 | |
光碟數:1 (含視頻教學) | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121280757 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第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 (配視頻教程)
本書從零開始,循序漸進地攻破Linux環境編程所遇到的各級關卡,以圖文并茂的形式幫助讀者理解各個概念。本書內容翔實,囊括了Linux系統操作細節,Shell腳本編程精要,各種編程環境所需要解決的技術難點,以及在Linux環境下的C語言編程技術、并發編程技術和音/視頻編程等核心內容。全書用近400幅圖表幫助讀者理解復雜概念,因此讀者不需要具備任何計算機編程經驗,在本書的指導下就能進入編程的世界,并能在閱讀和實踐中享受編程的樂趣。同時,本書配套完整的視頻教程,給讀者以最直觀、最容易吸收知識的方式,融會貫通書中所有的知識點。不僅如此,讀者還能夠得到作者及其團隊的在線技術支援和答疑。 本書從零開始,循序漸進地攻破Linux環境編程所遇到的各級關卡,以圖文并茂的形式幫助讀者理解各個概念。本書內容翔實,囊括了Linux系統操作細節,Shell腳本編程精要,各種編程環境所需要解決的技術難點,以及在Linux環境下的C語言編程技術、并發編程技術和音/視頻編程等核心內容。全書用400余幅圖表幫助讀者理解復雜概念,因此讀者不需要具備任何計算機編程經驗,在本書的指導下就能進入編程的世界,并能在閱讀和實踐中享受編程的樂趣。同時,本書配套完整的視頻教程,給讀者以最直觀、最容易吸收知識的方式,融會貫通書中所有的知識點。不僅如此,讀者還能夠得到作者及其團隊的在線技術支援和答疑。
本書通俗易懂,適合從事Linux/UNIX編程開發、嵌入式開發、C環境開發的讀者,尤其適合計算機相關專業的高職院校的學生,以及希望轉向IT類就業方向的在職人士。 |