Linux C編程

Linux C編程

《Linux C編程》是2005-12-30齣版的一本圖書。

基本介紹

  • 書名:Linux C編程
  • ISBN:9787302113690
  • 定價:36元
  • 出版時間:2005-12-30
  • 裝幀:平裝
  • 印次::1-2
圖書簡介,作者推薦,書籍目錄,

圖書簡介

本書系統地介紹了在Linux平台下用C語言進行程式開發的過程,通過列舉大量的程式實例,使讀者很快掌握在Linux平台下進行C程式開發的方法和技巧,並具備開發大型應用程式的能力。
本書系統地介紹了在Linux平台下用C語言進行程式開發的過程,通過列舉大量的程式實例,使讀者很快掌握在Linux平台下進行C程式開發的方法和技巧,並具備開發大型應用程式的能力。
本書內容翔實,主要包括:Linux平台下C語言及其編程環境的介紹,C語言編譯器、調試工具和自動維護工具的使用方法,Linux系統提供的特有函式調用,在C程式中訪問檔案的方法言網路編程方法以及curses編程等。
《linux c從入門到精通編程》從初學者的角度出發,通過通俗易懂的語言,豐富多彩的實例,詳細介紹丁在linux系統下使用c語言進行應用程式開發應該掌握的各方面技術。全書共分20章,包括linux系統概述、c語言基礎、記憶體管理、基本編輯器vim和emacs、gcc編譯器、gdb調試工具、進程控制、進程間通信、檔案操作、檔案的輸入/輸出操作、信號及信號處理、網路編程、make編譯基礎、linux系統下的c語言與資料庫、集成開發環境、界面開發基礎、界面布局、界面構件開發、glade設計程式界面、mp3音樂播放器。所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會linux系統下的c語言應用程式開發的精髓,快速提高開發技能。
本書結構合理、概念清晰、實例豐富,並具有很強的啟發性和實用性,適合於有一定的C語言基礎,需要在Linux系統上編程的程式設計人員閱讀。

作者推薦

另外,本書除了紙質內容之外,配書光碟中還給出了海 量開發資源庫,主要內容如下:
語音視頻講解:總時長4小時,共30段 實例資源庫 881個經典範例
模組資源庫:15個常用模組項目 案例資源庫:15個實用項目
測試題庫系統:616道能力測試題目 面試資源庫:371道企業面試真題
ppt電子教案
《linux c從入門到精通編程》適合作為軟體開發入門者的自學用書,也適合作為高等院校相關專業的教學參考書,也可供開發人員查閱、參考。

書籍目錄

目錄
第1章Linux下C語言編程簡介 1
1.1Linux簡介 1
1.2C語言的簡介和特點 4
1.3Linux程式設計基礎知識 5
1.3.1程式安裝目錄 5
1.3.2頭檔案 5
1.3.3庫檔案 6
1.4Linux下C語言編程環境
概述 7
1.5Linux程式設計的特點 9
1.6Linux下C語言編碼的風格 10
1.6.1GNU編程風格 10
1.6.2Linux核心編程風格 11
第2章vi與emacs編輯器 12
2.1vim概述及套用 12
2.2emacs簡介及套用 17
2.3Linux下的其他編輯器 21
2.3.1最簡單的文本編輯器ed 21
2.3.1最容易上手的編輯器
pico 23
第3章gcc編譯器 27
3.1gcc簡介 27
3.2使用gcc 28
3.3gcc警告提示功能 30
3.4庫依賴 32
3.5gcc代碼最佳化 33
3.6加速 34
3.7gcc常用選項 35
3.8gcc的錯誤類型及對策 36
第4章gdb調試器 38
4.1gdb概述 38
4.2使用gdb 41
4.2.1gdb的命令概貌 42
4.2.2gdb中運行Linux的
shell程式 44
4.2.3在gdb中運行程式 44
4.2.4調試已運行的程式 45
4.2.5暫停/恢復程式運行 45
4.2.6查看信息 52
4.2.7查看源程式 54
4.2.8查看運行時數據 56
4.2.9改變程式的執行 64
第5章使用make 68
5.1makefile實例檔案分析 68
5.1.1make與makefile檔案
的關係 69
5.1.2在makefile檔案中使用
變數 71
5.1.3讓make自動推導依賴
關係 72
5.1.4另類風格的makefile
檔案 73
5.1.5清空目標檔案的規則 73
5.2makefile檔案概述 74
5.3make書寫規則 76
5.3.1規則舉例 76
5.3.2在規則中使用通配符 77
5.3.3檔案搜尋 78
5.3.4偽目標 79
5.3.5多目標 80
5.3.6靜態模式 81
5.3.7自動生成依賴性 82
5.4使用命令 84
5.4.1顯示命令 84
5.4.2執行命令 84
5.4.3命令出錯 85
5.4.4嵌套執行make 85
5.4.5定義命令包 87
5.5使用變數 88
5.5.1變數的基礎 88
5.5.2賦值變數 89
5.5.3變數的高級用法 91
5.5.4追加變數值 93
5.5.5override指示符 94
5.5.6多行變數 94
5.5.7環境變數 95
5.5.8目標變數 95
5.5.9模式變數 96
5.6使用條件判斷 96
5.6.1示例 97
5.6.2語法 98
5.7使用函式 100
5.7.1函式的調用語法 100
5.7.2字元串處理函式 100
5.7.3檔案名稱操作函式 104
5.7.4foreach函式 105
5.7.5if函式 106
5.7.6call函式 106
5.7.7origin函式 107
5.7.8shell函式 108
5.7.9控制make的函式 108
5.8make的運行 109
5.8.1make的退出碼 109
5.8.2指定makefile檔案 110
5.8.3指定目標 110
5.8.4檢查規則 111
5.8.5make的參數 112
5.9隱含規則 115
5.9.1使用隱含規則 116
5.9.2隱含規則一覽 117
5.9.3隱含規則使用的變數 119
5.9.4隱含規則鏈 121
5.9.5定義模式規則 121
5.9.6隱含規則搜尋算法 125
5.10使用make更新函式館
檔案 126
5.10.1函式館檔案的成員 126
5.10.2函式館成員的隱含規則 127
5.10.3函式館檔案的後綴規則 127
5.10.4注意事項 128
第6章檔案的操作 129
6.1Linux的檔案結構 129
6.1.1目錄結構 129
6.1.2檔案和設備 130
6.2系統調用和設備驅動程式 132
6.3庫函式 132
6.4硬體設備檔案的底層訪問 133
6.4.1write系統調用 134
6.4.2read系統調用 135
6.4.3open系統調用 136
6.4.4creat系統調用 137
6.4.5訪問許可權的初始化值 137
6.4.6umask變數 138
6.4.7close系統調用 139
6.4.8ioctl系統調用 140
6.4.9lseek系統調用 142
6.4.10fstat、stat和lstat系統
調用 144
6.4.11dup和dup2系統調用 145
6.5檔案和目錄的維護 146
6.5.1chmod系統調用 146
6.5.2chown系統調用 147
6.5.3unlink、link、symlink
系統調用 147
6.5.4mkdir和rmdir系統調用 148
6.5.5chdir系統調用和getcwd
函式 148
第7章標準I/O庫 149
7.1流和FILE對象 149
7.2標準輸入、標準輸出和標
準出錯 149
7.3快取 150
7.3.1全快取 150
7.3.2行快取 150
7.3.3不帶快取 150
7.4打開流 152
7.5讀和寫流 154
7.5.1輸入函式 154
7.5.2輸出函式 156
7.6每次一行I/O 156
7.7標準I/O的效率 157
7.8二進制I/O 158
7.9定位流 160
7.10格式化I/O 161
7.10.1格式化輸出 161
7.10.2格式化輸入 161
7.11實現細節 162
7.12臨時檔案 162
第8章進程控制 163
8.1進程概述 163
8.1.1進程的狀態及其狀態
轉換 163
8.1.2Linux進程簡介 165
8.1.3進程控制 166
8.1.4進程調度的概念 168
8.2進程的一般操作 169
8.2.1獲得進程id 169
8.2.2fork創建進程 170
8.2.3exec系統調用 172
8.2.4exit和_exit 177
8.2.5wait系統調用 179
8.2.6sleep函式調用 187
8.3進程的特殊操作 187
8.3.1setuid和setgid系統
調用 188
8.3.2setpgrp和setpgid系統
調用 189
8.3.3chdir系統調用 190
8.3.4chroot系統調用 190
8.3.5nice系統調用 191
第9章進程間的通信 192
9.1Linux下進程通信概述 192
9.2管道及有名管道 193
9.2.1管道概述及相關API
套用 194
9.2.2有名管道概述及相關API
套用 201
9.3信號及其處理 207
9.3.1信號及信號來源 207
9.3.2信號的種類 207
9.3.3進程對信號的回響 209
9.3.4信號的傳送 209
9.3.5信號的安裝(設定信號關
聯動作) 212
9.3.6信號集及信號集操作
函式 215
9.3.7信號阻塞與信號未決 216
9.3.8信號生命周期 216
9.3.9信號編程注意事項 218
9.3.10信號套用實例 220
9.4訊息佇列 224
9.4.1訊息佇列基本概念 225
9.4.2操作訊息佇列 225
9.4.3獲得或設定訊息佇列
屬性 226
9.4.4訊息佇列的限制 229
9.4.5訊息佇列套用實例 230
9.5信號燈概述 232
9.5.1操作信號燈 233
9.5.2信號燈的限制 235
9.5.3競爭問題 236
9.5.4信號燈套用實例 236
9.6共享記憶體 239
9.6.1核心怎樣保證各個進程
定址到同一個共享記憶體
區域的記憶體頁面 240
9.6.2mmap()及其相關係統
調用 241
9.6.3mmap()範例 242
9.6.4對mmap()返回地址的
訪問 246
9.6.5系統V共享記憶體原理 249
9.6.6系統V共享記憶體API 250
9.6.7系統V共享記憶體限制 250
9.6.8系統V共享記憶體範例 250
9.7套接口(Sockets)通信 253
第10章執行緒簡介 254
10.1執行緒概述 254
10.2創建執行緒 255
10.2.1執行緒創建屬性 255
10.2.2執行緒創建的Linux
實現 256
10.3執行緒取消 256
10.3.1執行緒取消的語義 256
10.3.2取消點 257
10.3.3程式設計方面的
考慮 257
10.3.4與執行緒取消相關的
pthread函式 257
10.4私有數據 258
10.4.1創建和註銷 258
10.4.2訪問 259
10.4.3使用範例 259
10.5互斥鎖 261
10.5.1創建和銷毀 261
10.5.2互斥鎖屬性 261
10.5.3鎖操作 262
10.5.4其他 262
10.6條件變數 263
10.6.1創建和註銷 263
10.6.2等待和激發 263
10.6.3其他 264
10.7異步信號 266
10.8執行緒終止 267
10.8.1執行緒終止方式 267
10.8.2執行緒終止時的清理 267
10.8.3執行緒終止的同步及其
返回值 268
10.8.4關於pthread_exit()和
return 269
10.9雜項 269
10.9.1獲得本執行緒ID 270
10.9.2判斷兩個執行緒是否為
同一執行緒 270
10.9.3僅執行一次的操作 270
10.9.4pthread_kill_other_
threads_np() 271
第11章curses編程簡介 273
11.1curses基本結構 273
11.2顏色和屬性 276
11.3視窗和基墊 279
11.4游標和螢幕輸出 285
11.5鍵盤輸入 288
11.5.1cbreak() 288
11.5.2延遲模式 288
11.5.3回顯模式和輸出
延遲 289
11.5.4功能鍵轉換 289
11.6選單 292
11.7表單 296
11.8用curses函式編寫一個
漢諾塔遊戲 301
11.8.1漢諾塔遊戲 301
11.8.2定義數據結構 302
11.8.3柱的實現 302
11.8.4盤的實現 302
11.8.5接收輸入的實現 303
11.8.6移動盤的實現 303
第12章網路編程 311
12.1TCP/IP簡介 311
12.1.1IP及相關協定 312
12.1.2傳輸控制協定TCP 317
12.1.3用戶數據報協定
UDP 319
12.2Socket編程簡介 319
12.2.1Socket編程相關數據
類型定義 320
12.2.2打開Socket描述符、
建立綁定並建立連線 320
12.2.3Listen()--監聽是
否有服務請求 321
12.2.4accept()--連線端
口的服務請求 322
12.2.5send()和recv()--
數據傳輸 322
12.2.6sendto()和recvfrom()
--利用數據報方式
進行數據傳輸 323
12.2.7close()和shutdown()
--結束數據傳輸 323
12.2.8DNS--域名服務
相關函式 324
12.3面向連線的客戶機/伺服器
代碼實例 324
12.4ping命令的簡單實現 328
12.4.1ping命令簡介 329
12.4.2ICMP協定簡介 329
12.4.3IP報頭格式 330
12.4.4ICMP報頭格式 331
12.4.5ICMP數據報 333
12.4.6數據統計 333
12.4.7完整的ping命令
代碼 334
第13章實例一:Linux下CD
播放器 339
13.1音頻CD 339
13.2設備控制 340
13.3音軌處理 342
13.3.1計算音軌數目 342
13.3.2定位音軌位置 344
13.3.3獲取音軌信息 345
13.4CD播放 347
13.4.1播放(play) 347
12.4.2停止(stop) 349
13.4.3暫停(pause) 350
12.4.4繼續(resume) 351
13.5音量調節 352
13.6子碼信息 354
第14章實例二:一個簡單的
伺服器端/客戶端程式 357
附錄 361
參考文獻 371

相關詞條

熱門詞條

聯絡我們