Linux 程序設計, 4/e (Beginning Linux Programming, 4/e)

馬修 (Neil Matthew), 斯通斯 (Richard Stones)

買這商品的人也買了...

商品描述

<內容簡介>

《Linux程序設計(第4版)》講述了Linux系統及其他IJNIX風格的操作系統上的程序開發,主要內容包括標準Linux c語言函數庫和由不同的Linux或UNIX標準指定的各種工具的使用方法,大多數標準Linux開發工具的使用方法,通過DBM和MySQL數據庫系統存儲Linux中的數據,為x視窗系統建立圖形化用戶界面等。《Linux程序設計(第4版)》通過先介紹程序設計理論,再以適當的例子和清晰的解釋來闡明它的方式,幫助讀者迅速掌握相關的知識。
《Linux程序設計(第4版)》適合Linux的初學者及希望利用Linux進行開發的程序人員閱讀,也適合作為高等院校計算機相關專業師生的參考教材。

<章節目錄>

第1章入門
1.1 LNIX、Linux和GNU簡介
1.1.1什麼是IYNIX
1.1.2什麼是Linux
1.1.3 GNL,項目和自由軟件基金會
1.1.4 Linux發行版
1.2 Linux程序設計.
1.2.1 Linux程序
1.2.2文本編輯器
1.2.3 C語言編譯器
1.2.4開發系統導引
1.3獲得幫助
1.4小結

第2章shell程序設計
2.1為什麼使用shell編程
2.2一點哲學
2.3什麼是shell
2.4管道和重定向
2.4. 1重定向輸出
2.4.2重定向輸入
2.4.3管道
2.5作為程序設計語言的shell
2.5.1交互式程序
2.5.2創建腳本
2.5.3把腳本設置為可執行
2.6 shell的語法
2.6.1變量
2.6 .2條件
2.6.3控制結構
2.6.4函數
2.6.5命令
2.6.6命令的執行
2.6.7 1aere文檔
2.6.8調試腳本程序
2.7邁向圖形化:dialog工具
2.8綜合應用
2.8.1需求
2.8. 2設計
2.8.3應用程序的說明
2.9小結

第3章文件操作.
3.1 Linux文件結構
3.1.1目錄
3.1.2文件和設備
3.2系統調用和設備驅動程序
3.3庫函數
3.4底層文件訪問
3.4.1 write系統調用
3.4.2 read系統調用
3.4.3 open系統調用
3.4.4訪問權限的初始值
3.4.5其他與文件管理有關的系統調用
3.5標準I/O庫
3.5.1 fopen函數
3.5.2 fread函數
3.5. 3 fwrite函數
3.5.4 fclose函數
3.5.5 f£1ush函數
3.5.6 fseek函數
3.5.7 fgetc、getc和getchar函數
3.5.8 fputc、putc和putchar函數
3.5.9 fgets和gets函數
3.6格式化輸入和輸出
3.6.1 printf、fprintf和sprin七函數
3.6.2 scanf、fscanf和sscanf函數
3.6.3其他流函數
3.6.4文件流錯誤
3.6.5文件流和文件描述符
3.7文件和目錄的維護
3.7.1 chIrrod系統調用
3.7.2 chown系統調用
3.7.3 unlink、1ink和symlink系統調用
3.7.4 mkdJ.r和rmdir系統調用
3.7.5 chdir系統調用和getcwd函數
3.8掃描目錄
3.8.1 opendir函數
3.8.2 readdir函數
3.8.3 elldir函數
3.8.4 see]kdir函數
3.8.5 closedir函數
3.9錯誤處理
3.9.1 strerror函數
3.9.2 perror函數
3.10 proc文件系統
3.11高級主題:fcntl和mmap
3.11.1 fcntl系統調用
3.11. 2 map函數
3.12小結

第4章Linux環境
4.1程序參數
4.1.1 qetopt
4.1.2 getooptlong
4.2環境變量
4.2.1環境變量的用途
4.2.2 environ變量
4.3時間和日期
4.4臨時文件
4.5用戶信息
4.6主機信息
4.7日誌
4.8資源和限制
4.9小結

第5章終端
5.1對終端進行讀寫
5.2與終端進行對話
5.3終端驅動程序和通用終端接口
5.3.1概述
5.3.2硬件模型
5.4 temios結構
5.4.1輸入模式
5.4.2輸出模式
5.4.3控制模式
5.4.4本地模式
5.4.5特殊控製字符
5.4.6終端速度
5.4.7其他函數
5.5終端的輸出
5.5.1終端的類型
5.5.2識別終端類型
5.5.3使用teminfo功能標誌
5.6檢測擊鍵動作
5.7虛擬控制台
5.8偽終端
5.9小結

第6章使用curses函數庫管理基於文本的屏幕
6.1用curses函數庫進行編譯
6.2 curses術語和概念
6.3屏幕
6.3.1輸出到屏幕
6.3.2從屏幕讀取
6.3.3清除屏幕
6.3.4移動光標
6.3.5字符屬性
6.4鍵盤
6.4.1鍵盤模式
6.4.2鍵盤輸入
6.5窗口
6.5.1 wINDOW結構
6.5.2通用函數
6.5.3移動和更新窗口
6.5.4優化屏幕刷新
6.6子窗口
6.7 keypad模式
6.8彩色顯示
6.9 pad
6.10 CD唱片應用程序
6.10.1新CD唱片應用程序的開始部分
6.10.2 main函數
6.10.3建立菜單
6.10.4操作數據庫文件
6.10 .5查詢CD數據庫
6.11小結

第7章數據管理
7.1內存管理
7.1.1簡單的內存分配
7.1.2分配大量的內存
7.1.3濫用內存
7.1.4空指針
7.1.5釋放內存
7.1.6其他內存分配函數
7.2文件鎖定
7.2.1創建鎖文件
7.2.2區域鎖定
7.2.3鎖定狀態下的讀寫操作
7.2.4文件鎖的競爭
7.2.5其他鎖命令
7.2.6死鎖
7.3數據庫
7.3.1 dbm數據庫
7.3.2 dbm例程
7.3.3 d.bm訪問函數
7.3.4其他dbm函數
7.4 CD唱片應用程序
7.4.1更新設計
7.4.2使用dbm數據庫的CD唱片應用程序
7.5小結

第8章MySQL
8.1安裝
8.1 .1 MySQL軟件包
8.1.2安裝後的配置
8.1.3安裝後的故障修復
8.2 MySQL管理
8.2.1命令
8.2.2創建用戶並賦予權限
8.2.3密碼
8.2.4創建數據庫
8.2.5數據類型
8.2 .6創建表
8.2.7圖形化工具
8.3使用C語言訪問。MySQL數據
8.3.1連接例程
8.3.2錯誤處理
8.3.3執行SQL語句
8.3.4更多的函數
8.4 CD數據庫應用程序
8.4.1創建表
8.4.2添加數據
8.4.3使用C語言訪問數據
8.5小結

第9章開發工具
9.1多個源文件帶來的問題
9.2 make命令和makefile文件
9.2.1 mekefile的語法
9.2.2 make命令的選項和參數
9.2.3 makefile文件中的註釋
9.2.4 mekefile文件中的宏
9.2.5多個目標
9.2.6內置規則
9.2.7後綴和模式規則
9.2.8用make管理函數庫
9.2.9高級主題:makefile文件和子目錄
9.2.1 0GNUmake和qcc
9.3源代碼控制
9.3. 1 RCS
9.3.2 SCCS
9.3.3 RCS和SCCS的比較
9.3.4 CVS
9.3.5 CVS的前端程序
9.3.6 SubvcrsiOn
9.4編寫手冊頁
9.5發行軟件
9.5.1 pach程序
9.5.2其他軟件發行工具
9.6 RPM軟件包
9.6.1使用RPM軟件包文件
9.6.2安裝RPM軟件包
9.6.3創建RPM軟件包
9.7其他軟件包格式
9.8開發環境
9.8.1 KDevelop
9.8.2其他開發環境
9.9小結

第10章調試
10.1錯誤類型
10.2常用調試技巧
10.2.1有漏洞的程序
10.2.2代碼檢查
10.2.3取樣法
10.2.4程序的受控執行
10.3使用gdb進行調試
10.3.1啟動gdb
10.3.2運行一個程序
10.3.3棧跟蹤
10.3.4檢查變量
10.3.5列出程序源代碼
10.3.6設置斷點
10.3.7用調試器打補丁
10.3.8深入學習gdb
10.4其他調試工具
10.4.1 lint清理程序中的“垃圾”
10.4 .2函數調用工具
10.4.3用prof/gprof產生執行存盤
10.5斷言
10.6內存調試
10.6.1 ElectnicFence函數庫
10.6.2 valgrind
10.7小結

第11章進程和信號
11.1什麼是進程
11.2進程的結構
11.2.1進程表
11.2.2查看進程
11.2.3系統進程
11.2.4進程調度
11.3啟動新進程
11.3.1等待一個進程
11.3.2殭屍進程
11.3.3輸入和輸出重定向
11.3.4線程
11.4信號
11.4.1發送信號
11.4.2信號集
11.5小結

第12章POSlX線程
12.1什麼是線程
12.2線程的優點和缺點
12.3第一個線程程序
12.4同時執行
12.5同步
12.5.1用信號量進行同步
12.5.2用互斥量進行同步
……
第13章進程音通信:管道
第14章信號量、共享內存和消息隊列
第15章套接字
第16章用GTK+進行+GNOME編程
第17章用Qt進行KDE編程
第18章Linux標準