注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)LinuxLinux高級程序設(shè)計(第三版)

Linux高級程序設(shè)計(第三版)

Linux高級程序設(shè)計(第三版)

定 價:¥59.00

作 者: 楊宗德,呂光宏,劉雍 編著
出版社: 人民郵電出版社
叢編項:
標 簽: LINUX

ISBN: 9787115292902 出版時間: 2012-11-01 包裝: 平裝
開本: 16開 頁數(shù): 486 字數(shù):  

內(nèi)容簡介

  《Linux高級程序設(shè)計(第3版)》圍繞Linux操作系統(tǒng)“一切都是文件”的特點,講述了Linux操作系統(tǒng)下應用層“一段執(zhí)行單元(進程)對系統(tǒng)資源(CPU資源、各類文件資源)的管理”。詳細介紹了Linux系統(tǒng)編程環(huán)境及編程工具(GCC/Makefile/GDB)、文件管理(文件屬性控制、ANSI以及POSIX標準下文件讀寫操作、終端編程)、進程管理(創(chuàng)建、退出、執(zhí)行、等待、屬性控制)、進程間通信(管道、消息隊列、共享內(nèi)存)、進程間同步機制(信號量)、進程間異步機制(信號)、線程管理(創(chuàng)建、退出、取消等以及屬性控制)、線程間同步(互斥鎖、讀寫鎖、條件變量)、線程與信號以及BSD socket編程中的TCP、UDP、原始套接口、網(wǎng)絡(luò)服務(wù)器應用開發(fā)等內(nèi)容,并對Linux系統(tǒng)下的音頻應用程序開發(fā)做了講解。 《Linux高級程序設(shè)計(第3版)》內(nèi)容豐富、緊扣應用,適合從事Linux下C應用編程的人員閱讀,也適合從事嵌入式Linux開發(fā)的人員閱讀。

作者簡介

暫缺《Linux高級程序設(shè)計(第三版)》作者簡介

圖書目錄

第1章 Linux下C語言開發(fā)環(huán)境
1.1 Linux操作系統(tǒng)簡介
1.1.1 Linux操作系統(tǒng)簡介
1.1.2 GNU/Linux簡介
1.1.3 相關(guān)術(shù)語介紹
1.2 Linux開發(fā)初步
1.2.1 Linux下C程序標準
1.2.2 庫函數(shù)和系統(tǒng)調(diào)用
1.2.3 在線文檔介紹
1.2.4 獲取錯誤信息
1.3 部分常用工具簡介
1.3.1 tar打包器
1.3.2 Linux常用命令及工具
1.4 Linux下編碼風格
1.4.1 GNU編碼規(guī)范
1.4.2 Linux內(nèi)核編碼規(guī)范

第2章 Linux下C語言開發(fā)工具
2.1 常用編輯工具
2.1.1 VIM編輯器
2.1.2 Emacs編輯器
2.1.3 Source Insight工具
2.2 GCC/GDB編譯調(diào)試工具基礎(chǔ)
2.2.1 GCC/G++簡單介紹
2.2.2 GDB調(diào)試工具簡介
2.2.3 使用GCC編譯C程序示例
2.2.4 使用g++編譯C++程序示例
2.2.5 GDB演示示例

第3章 Linux進程存儲管理
3.1 Linux程序存儲結(jié)構(gòu)與進程結(jié)構(gòu)
3.1.1 Linux可執(zhí)行文件結(jié)構(gòu)
3.1.2 Linux進程結(jié)構(gòu)
3.1.3 C變量及函數(shù)存儲類型
3.1.4 棧和堆的區(qū)別
3.1.5 示例:查看代碼中各數(shù)據(jù)存儲位置
3.1.6 常見內(nèi)存錯誤示例分析
3.2 ANSI C動態(tài)內(nèi)存管理
3.2.1 內(nèi)存分配的基本方式
3.2.2 示例:為程序申請動態(tài)內(nèi)存空間
3.2.3 內(nèi)存數(shù)據(jù)管理函數(shù)
3.3 Valgrind及valkyrie內(nèi)存管理工具
3.3.1 Valgrind介紹
3.3.2 Valgrind安裝與使用
3.3.3 valgrind圖形化工具Valkyrie
3.3.4 內(nèi)存檢測示例
3.4 Linux進程環(huán)境及系統(tǒng)限制
3.4.1 進程與命令行選項及參數(shù)
3.4.2 進程與環(huán)境變量
3.4.3 Linux系統(tǒng)限制
3.4.4 Linux時間管理

第4章 ANSI C文件IO管理
4.1 文件及文件流
4.1.1 文件與流的基本概念
4.1.2 標準流及流主要功能
4.1.3 文件流指針
4.1.4 緩沖區(qū)類型
4.1.5 指定流緩沖區(qū)
4.2 ANSI C文件I/O操作
4.2.1 打開關(guān)閉文件
4.2.2 讀/寫文件流
4.2.3 文件流定位
4.2.4 實現(xiàn)文件復制操作示例
4.3 流的格式化輸入/輸出操作
4.3.1 printf/scanf函數(shù)分析
4.3.2 fprintf/fscanf函數(shù)分析
4.3.3 sprintf函數(shù)分析
4.3.4 sscanf函數(shù)分析

第5章 POSIX文件及目錄管理
5.1 文件描述符與內(nèi)核文件表項
5.1.1 文件流與文件描述符的區(qū)別
5.1.2 文件表結(jié)構(gòu)圖
5.1.3 文件描述符與文件流的轉(zhuǎn)換操作
5.2 POSIX標準下文件IO管理
5.2.1 創(chuàng)建/打開/關(guān)閉文件
5.2.2 文件控制fcntl
5.2.3 讀/寫文件內(nèi)容
5.2.4 使用POSIX IO實現(xiàn)大于2G文件復制
5.2.5 文件定位
5.2.6 同步內(nèi)核緩沖區(qū)
5.2.7 映射文件到內(nèi)存
5.2.8 鎖定/解鎖文件
5.3 目錄流基本操作
5.3.1 打開/關(guān)閉目錄文件
5.3.2 讀/寫目錄內(nèi)容
5.3.3 定位目錄位置
5.3.4 添加和刪除目錄
5.3.5 當前工作路徑操作
5.3.6 文件流、目錄流、文件描述符總結(jié)
5.4 應用案例:遞歸文件目錄復制操作
5.4.1 應用需求及流程圖
5.4.2 示例代碼

第6章 普通文件、連接文件及目錄文件屬性管理
6.1 Linux文件系統(tǒng)管理
6.1.1 Linux下VFS虛擬文件系統(tǒng)
6.1.2 ext2文件系統(tǒng)結(jié)構(gòu)
6.1.3 目錄文件及常規(guī)文件存儲方法
6.2 Linux系統(tǒng)下文件類型及屬性
6.2.1 Linux文件類型及權(quán)限
6.2.2 Linux文件類型
6.2.3 文件權(quán)限修飾位
6.2.4 文件訪問權(quán)限位
6.3 Linux文件屬性管理
6.3.1 讀取文件屬性
6.3.2 修改文件權(quán)限操作
6.3.3 修改系統(tǒng)umask值
6.3.4 修改文件的擁有者及組
6.3.5 用戶名/組名與UID/GID的轉(zhuǎn)換
6.3.6 創(chuàng)建/刪除硬連接
6.3.7 符號連接文件特殊操作
6.3.8 文件時間屬性修改與時間處理
6.4 示例:ls ?l以排序方式列出目錄信息
6.4.1 需求及知識點涵蓋
6.4.2 流程及源代碼實現(xiàn)
6.5 示例:實現(xiàn)tree系統(tǒng)命令

第7章 終端及串口編程
7.1 終端設(shè)備類型
7.1.1 實際的物理串口
7.1.2 控制臺終端
7.1.3 虛擬終端
7.1.4 當前終端
7.2 終端屬性控制
7.2.1 讀取/設(shè)置終端屬性信息
7.2.2 c_cflag終端控制選項
7.2.3 c_lflag終端本地選項
7.2.4 c_iflag終端輸入選項
7.2.5 c_oflag終端輸出選項
7.2.6 c_cc[NCCS]終端控制字符
7.2.7 IOCTLs控制終端
7.2.8 進程與終端
7.3 串口編程
7.3.1 串口物理設(shè)備
7.3.2 串口終端基本操作
7.3.3 串口編程示例
7.4 控制臺終端應用基礎(chǔ)
7.4.1 終端屬性設(shè)置
7.4.2 控制命令基本格式
7.4.3 從控制臺終端獲取信息不回顯

第8章 Linux進程管理與程序開發(fā)
8.1 進程環(huán)境及進程屬性
8.1.1 程序、進程與進程資源
8.1.2 進程狀態(tài)
8.1.3 進程基本屬性
8.1.4 進程用戶屬性
8.2 進程管理及控制
8.2.1 創(chuàng)建進程
8.2.2 在進程中運行新代碼
8.2.3 回收進程用戶空間資源
8.2.4 回收內(nèi)核空間資源
8.2.5 孤兒進程與僵死進程
8.2.6 修改進程用戶相關(guān)信息
8.3 Linux特殊進程
8.3.1 守候進程及其創(chuàng)建過程
8.3.2 日志信息及其管理
8.3.3 守候進程應用示例

第9章 進程間通信--管道
9.1 進程間通信--PIPE
9.1.1 無名管道概念
9.1.2 無名管道文件操作的特殊性
9.1.3 文件描述符重定向
9.1.4 實現(xiàn)who|sort
9.1.5 流重定向
9.2 進程間通信--FIFO
9.2.1 有名管道概念
9.2.2 有名管道管理及其特殊性
9.2.3 管道基本特點總結(jié)

第10章 Linux異步信號處理機制
10.1 Linux常見信號與處理
10.1.1 信號與中斷
10.1.2 信號基本概念
10.1.3 信號的生命周期
10.1.4 發(fā)送信號
10.2 安裝信號與捕獲信號
10.2.1 信號處理辦法
10.2.2 signal安裝信號
10.2.3 sigaction安裝信號
10.2.4 signal的系統(tǒng)漏洞
10.3 安裝信號與捕獲信號
10.3.1 設(shè)置進程屏蔽信號集
10.3.2 獲取當前未決的信號
10.3.3 信號集合操作
10.3.4 信號集合操作應用示例
10.4 等待信號
10.4.1 pause函數(shù)
10.4.2 sigsuspend函數(shù)
10.5 信號應用實例

第11章 System V進程間通信
11.1 System V IPC基礎(chǔ)
11.1.1 key值和ID值
11.1.2 擁有者及權(quán)限
11.2 消息隊列
11.2.1 消息隊列IPC原理
11.2.2 Linux消息隊列管理
11.2.3 消息隊列應用實例
11.3 信號量通信機制
11.3.1 信號量IPC原理
11.3.2 Linux信號量管理操作
11.3.3 SEM_UNDO參數(shù)的應用
11.3.4 使用信號量實現(xiàn)生產(chǎn)消費問題
11.4 共享內(nèi)存
11.4.1 共享內(nèi)存IPC原理
11.4.2 Linux共享內(nèi)存管理
11.4.3 共享內(nèi)存的權(quán)限管理示例
11.4.4 共享內(nèi)存處理應用示例

第12章 Linux多線程編程
12.1 線程基本概念與線程操作
12.1.1 線程與進程的對比
12.1.2 創(chuàng)建線程
12.1.3 線程退出與等待
12.1.4 取消線程
12.1.5 線程與私有數(shù)據(jù)
12.2 線程同步機制
12.2.1 互斥鎖通信機制
12.2.2 條件變量通信機制
12.2.3 讀寫鎖通信機制
12.3 多線程異步管理--信號
12.3.1 線程信號管理
12.3.2 線程信號應用實例
12.4 線程屬性控制
12.4.1 獲取線程ID
12.4.2 初始化線程屬性對象
12.4.3 獲取/設(shè)置線程detachstate屬性
12.4.4 獲取/設(shè)置線程棧相關(guān)屬性

第13章 Linux Socket網(wǎng)絡(luò)編程基礎(chǔ)
13.1 網(wǎng)絡(luò)通信基礎(chǔ)
13.1.1 TCP/IP協(xié)議簇基礎(chǔ)
13.1.2 IPv4協(xié)議基礎(chǔ)
13.1.3 點分十進制IP地址與二進制IP地址轉(zhuǎn)換
13.1.4 網(wǎng)絡(luò)數(shù)據(jù)包封包與拆包過程
13.1.5 字節(jié)順序與大小端問題
13.2 BSD Socket網(wǎng)絡(luò)通信編程
13.2.1 BSD TCP通信編程流程
13.2.2 BSD Socket網(wǎng)絡(luò)編程API
13.3 使用TCP實現(xiàn)簡單聊天程序
13.3.1 服務(wù)器端代碼分析
13.3.2 客戶器端代碼分析
13.4 網(wǎng)絡(luò)調(diào)試工具
13.4.1 tcpdump的使用
13.4.2 netstat工具使用
13.4.3 lsof工具使用

第14章 TCP高級應用
14.1 文件I/O方式比較
14.2 I/O阻塞與非阻塞操作
14.2.1 阻塞與非阻塞基本概念
14.2.2 非阻塞應用示例
14.3 socket多路復用應用
14.3.1 select()與pselect函數(shù)介紹
14.3.2 poll與ppoll函數(shù)
14.3.3 多路復用應用示例
14.4 控制socket文件描述符屬性
14.4.1 set/getsockopt()修改socket屬性
14.4.2 fcntl控制socket
14.4.3 ioctl控制文件描述符

第15章 UDP網(wǎng)絡(luò)編程應用
15.1 UDP網(wǎng)絡(luò)編程基礎(chǔ)
15.1.1 UDP網(wǎng)絡(luò)通信流程
15.1.2 使用AF_INET實現(xiàn)UDP點對點通信示例
15.2 UDP廣播通信
15.2.1 廣播地址與廣播通信
15.2.2 UDP廣播通信示例
15.3 UDP組播通信
15.3.1 組播地址與組播通信
15.3.2 UDP組播應用示例
15.4 socket信號驅(qū)動
15.4.1 異步信號處理機制流程
15.4.2 信號驅(qū)動方式處理UDP數(shù)據(jù)
15.5 域名與IP信息解析
15.5.1 Linux下域名解析過程
15.5.2 通過域名返回主機信息
15.5.3 通過域名和IP返回主機信息
15.5.4 getaddrinfo獲取主機信息

第16章 網(wǎng)絡(luò)服務(wù)器應用設(shè)計
16.1 迭代服務(wù)器設(shè)計
16.1.1 xinetd服務(wù)介紹
16.1.2 時間服務(wù)器應用
16.2 多進程/多線程并發(fā)服務(wù)器設(shè)計
16.2.1 多進程實現(xiàn)多客戶端
16.2.2 多線程實現(xiàn)多客戶端
16.2.3 基于HTTP的多進程并發(fā)文件服務(wù)器
16.3 進程池/線程池服務(wù)器設(shè)計
16.3.1 進程池/線程池服務(wù)器模型
16.3.2 線程池文件服務(wù)器示例

第17章 本地通信與原始套接口
17.1 sock實現(xiàn)本地進程間通信
17.1.1 使用socket實現(xiàn)本地進程通信
17.1.2 使用AF_UNIX實現(xiàn)本機數(shù)據(jù)流
17.2 本地socket傳遞文件描述符
17.2.1 sendmsg/recvmsg函數(shù)
17.2.2 傳遞文件描述符示例
17.3 原始套應用程序開發(fā)
17.3.1 原始套接口基本原理
17.3.2 原始套接口實現(xiàn)ping應用程序
17.3.3 原始套實現(xiàn)DOS攻擊

第18章 音頻應用程序開發(fā)基礎(chǔ)
18.1 WAV音頻文件格式分析
18.1.1 數(shù)字音頻基本參數(shù)
18.1.2 WAV音頻文件結(jié)構(gòu)
18.1.3 讀出WAV格式文件頭信息
18.4.4 MP3文件格式
18.2 OSS音頻設(shè)備編程
18.2.1 OSS音頻設(shè)備基本架構(gòu)
18.2.2 OSS音頻編程應用示例
18.3 ALSA音頻設(shè)備編程
18.3.1 ALSA基本架構(gòu)
18.3.2 alsa-libs基本應用
18.3.3 ALSA音頻編程示例

本目錄推薦

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