有人說linux程序設計第4版是一本短小精悍,沒有steven高級編程的事無巨細的講解,卻非常容易抓住關鍵點的書。這本書圍繞begining展開,對Linux程序設計里的廣泛領域的大量主題都進行了介紹,作為一本linux開發領域的入門級和指南性的讀物,強烈推薦那些想要進行Linux開發的菜鳥作為自己的入門拐杖,這本書所探討的主題都具有很高的使用價值,抓大放小,沒有把初學者帶入無窮無盡的開發泥淖中,能夠做到很好的帶路作用,適合作為培訓教材使用。每一章都圍繞一個主題展開,點到即止,每一章又可以通過另外一本書去擴展這些主題。該書雖然不如APUE那一類書出名,但作為Linux初學者,這本書絕對是最佳選擇。 本節內容小編為大家奉上的這份Linux程序設計為中文第4版,epub格式免費高清完整版,歡迎有需要的朋友前來下載查閱這本電子書。
linux程序設計第4版內容簡介
《Linux程序設計(第4版)》講述了Linux系統及其他IJNIX風格的操作系統上的程序開發,主要內容包括標準Linux c語言函數庫和由不同的Linux或UNIX標準指定的各種工具的使用方法,大多數標準Linux開發工具的使用方法,通過DBM和MySQL數據庫系統存儲Linux中的數據,為x視窗系統建立圖形化用戶界面等。《Linux程序設計(第4版)》通過先介紹程序設計理論,再以適當的例子和清晰的解釋來闡明它的方式,幫助讀者迅速掌握相關的知識。
《Linux程序設計(第4版)》適合Linux的初學者及希望利用Linux進行開發的程序人員閱讀,也適合作為高等院校計算機相關專業師生的參考教材。
時至今日,Linux系統已經從一個個人作品發展為可以用于各種關鍵任務的成熟、高效和穩定的操作系統,因為具備跨平臺、開源、支持眾多應用軟件和網絡協議等優點,它得到了各大主流軟硬件廠商的支持,也成為廣大程序設計人員理想的開發平臺。
本書是Linux程序設計領域的經典名著,以簡單易懂、內容全面和示例豐富而受到廣泛好評。中文版前兩版出版后,在國內的Linux愛好者和程序員中也引起了強烈反響,這一熱潮一直持續至今。本書是國內讀者翹首以待的第4版,此次新版內容組織更加嚴謹,譯者更是細心雕琢,保留了這部權威著作的原汁原味。
對Linux所提供的功能全面而準確的闡述,以及貫穿全書的示例程序體驗,使本書不僅成為初學者的最佳Linux程序設計指南,而且是中高級程序員不可或缺的參考書。
linux程序設計第4版目錄
第1章 入門
1.1 UNIX、Linux和GNU簡介
1.1.1 什么是UNIX
1.1.2 什么是Linux
1.1.3 GNU項目和自由軟件基金會
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 here文檔
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 fflush函數
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和sprintf函數
3.6.2 scanf、fscanf和sscanf函數
3.6.3 其他流函數
3.6.4 文件流錯誤
3.6.5 文件流和文件描述符
3.7 文件和目錄的維護
3.7.1 chmod系統調用
3.7.2 chown系統調用
3.7.3 unlink、link和symlink系統調用
3.7.4 mkdir和rmdir系統調用
3.7.5 chdir系統調用和getcwd函數
3.8 掃描目錄
3.8.1 opendir函數
3.8.2 readdir函數
3.8.3 telldir函數
3.8.4 seekdir函數
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 mmap函數
3.12 小結
第4章 Linux環境
4.1 程序參數
4.1.1 getopt
4.1.2 getopt_long
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 termios結構
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 使用terminfo功能標志
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 dbm訪問函數
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 makefile的語法
9.2.2 make命令的選項和參數
9.2.3 makefile文件中的注釋
9.2.4 makefile文件中的宏
9.2.5 多個目標
9.2.6 內置規則
9.2.7 后綴和模式規則
9.2.8 用make管理函數庫
9.2.9 高級主題:makefile文件和子目錄
9.2.10 GNU make和gcc
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 Subversion
9.4 編寫手冊頁
9.5 發行軟件
9.5.1 patch程序
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 ElectricFence函數庫
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章 POSIX線程
12.1 什么是線程
12.2 線程的優點和缺點
12.3 第一個線程程序
12.4 同時執行
12.5 同步
12.5.1 用信號量進行同步
12.5.2 用互斥量進行同步
12.6 線程的屬性
12.7 取消一個線程
12.8 多線程
12.9 小結
第13章 進程間通信:管道
13.1 什么是管道
13.2 進程管道
13.3 將輸出送往popen
13.3.1 傳遞更多的數據
13.3.2 如何實現popen
13.4 pipe調用
13.5 父進程和子進程
13.5.1 管道關閉后的讀操作
13.5.2 把管道用作標準輸入和標準輸出
13.6 命名管道:FIFO
13.6.1 訪問FIFO文件
13.6.2 高級主題:使用FIFO的客戶/服務器應用程序
13.7 CD數據庫應用程序
13.7.1 目標
13.7.2 實現
13.7.3 客戶接口函數
13.7.4 服務器接口server.c
13.7.5 管道
13.7.6 對CD數據庫應用程序的總結
13.8 小結
第14章 信號量、共享內存和消息隊列
14.1 信號量
14.1.1 信號量的定義
14.1.2 一個理論性的例子
14.1.3 Linux的信號量機制
14.1.4 使用信號量
14.2 共享內存
14.2.1 shmget函數
14.2.2 shmat函數
14.2.3 shmdt
14.2.4 shmctl
14.3 消息隊列
14.3.1 msgget函數
14.3.2 msgsnd函數
14.3.3 msgrcv函數
14.3.4 msgctl函數
14.4 CD數據庫應用程序
14.4.1 修改服務器函數
14.4.2 修改客戶函數
14.5 IPC狀態命令
14.5.1 顯示信號量狀態
14.5.2 顯示共享內存狀態
14.5.3 顯示消息隊列狀態
14.6 小結
第15章 套接字
15.1 什么是套接字
15.2 套接字連接
15.2.1 套接字屬性
15.2.2 創建套接字
15.2.3 套接字地址
15.2.4 命名套接字
15.2.5 創建套接字隊列
15.2.6 接受連接
15.2.7 請求連接
15.2.8 關閉套接字
15.2.9 套接字通信
15.2.10 主機字節序和網絡字節序
15.3 網絡信息
15.3.1 因特網守護進程(xinetd/inetd)
15.3.2 套接字選項
15.4 多客戶
15.4.1 select系統調用
15.4.2 多客戶
15.5 數據報
15.6 小結
第16章 用GTK+進行GNOME編程
16.1 X視窗系統簡介
16.1.1 X服務器
16.1.2 X客戶端
16.1.3 X協議
16.1.4 Xlib庫
16.1.5 X工具包
16.1.6 窗口管理器
16.1.7 創建GUI的其他方法——平臺無關的窗囗API
16.2 GTK+簡介
16.2.1 GLib類型系統
16.2.2 GTK+對象系統
16.2.3 GNOME簡介
16.2.4 安裝GNOME/GTK+開發庫
16.3 事件、信號和回調函數
16.4 組裝盒構件
16.5 GTK+構件
16.5.1 GtkWindow
16.5.2 GtkEntry
16.5.3 GtkSpinButton
16.5.4 GtkButton
16.5.5 GtkTreeView
16.6 GNOME構件
16.7 GNOME菜單
16.8 對話框
16.8.1 GtkDialog
16.8.2 模式對話框
16.8.3 非模式對話框
16.8.4 GtkMessageDialog
16.9 CD數據庫應用程序
16.10 小結
第17章 用Qt進行KDE編程
17.1 KDE和Qt簡介
17.2 安裝Qt
17.3 信號和槽
17.4 Qt構件
17.4.1 QLineEdit
17.4.2 Qt按鈕
17.4.3 QComboBox
17.4.4 QListView
17.5 對話框
17.5.1 QDialog
17.5.2 QMessageBox
17.5.3 QInputDialog
17.5.4 使用qmake簡化makefile文件的編寫
17.6 KDE的菜單和工具欄
17.7 使用KDE/Qt編寫CD數據庫應用程序
17.7.1 主窗口
17.7.2 AddCdDialog
17.7.3 LogonDialog
17.7.4 main.cpp
17.8 小結
第18章 Linux標準
18.1 C編程語言
18.1.1 發展歷史簡介
18.1.2 GNU編譯器集
18.1.3 gcc選項
18.2 接口和LSB
18.2.1 LSB標準函數庫
18.2.2 LSB用戶和組
18.2.3 LSB系統初始化
18.3 文件系統層次結構標準
18.4 更多標準
18.5 小結
linux程序設計第4版內容截圖
- PC官方版
- 安卓官方手機版
- IOS官方手機版