《Windows環境下32位彙編語言程式設計(典藏版)(含CD光碟1張)》是2013年電子工業出版社出版的圖書,作者是羅雲彬。
基本介紹
- 書名:Windows環境下32位彙編語言程式設計(典藏版)(含CD光碟1張)
- 作者:羅雲彬
- ISBN:9787121207594
- 頁數:756
- 定價:99
- 出版社:電子工業出版社
- 出版時間:2013-7
- 裝幀:平裝
內容介紹,作者介紹,作品目錄,
內容介紹
Windows環境下32位彙編語言是一種全新的程式語言。它使用與C++語言相同的API接口,不僅可以開發出大型的軟體,而且是了解作業系統運行細節的最佳方式。
本書從編寫應用程式的角度,從“Hello,World!”這個簡單的例子開始到編寫多執行緒、註冊表和網路通信等複雜的程式,通過70多個實例逐步深入Windows環境下32位彙編語言編程的方方面面。
作者羅雲彬擁有10餘年彙編語言編程經驗,本書是作者多年來編程工作的總結,適合於欲通過Windows環境下32彙編語言編寫Windows程式的讀者。
作者介紹
羅雲彬,高級工程師,現從事移動網際網路軟體項目管理、軟體架構設計工作。在軟體工程、大數據套用等方面有豐富的經驗。對分散式資料庫及傳統關係型資料庫的開發和套用有深入的研究,是國內為數不多的OCM證書獲得者之一。作為主要完成人,曾獲得國家科技進步二等獎1項,省部級科學技術一等、三等獎各1項。
作者在Windows作業系統下的套用軟體編程方面有豐富的經驗,自1990年開始即使用彙編語言編寫程式,是Windows作業系統流行後國內最早研究Win32彙編編程的程式設計師之一,曾在1998年創建了專門探討彙編編程的網站,發表過大量關於彙編編程的文章和教程,經典作品《Windows環境下32位彙編語言程式設計》連續10年暢銷。
作品目錄
基礎篇
第1章 背景知識 1
1.1 Win32的軟硬體平台 1
1.1.1 80x86系列處理器簡史 1
1.1.2 Windows的歷史 3
1.1.3 Win32平台的背後——Wintel聯盟 5
1.2 Windows的特色 6
1.3 必須了解的基礎知識 7
1.3.1 80x86處理器的工作模式 7
1.3.2 Windows的記憶體管理 9
1.3.3 Windows的特權保護 17
第2章 準備編程環境 21
2.1 Win32執行檔的開發過程 21
2.2 編譯器和連結器 23
2.2.1 MASM系列 23
2.2.2 TASM系列 27
2.2.3 其他編譯器 28
2.2.4 MASM,TASM還是NASM 29
2.2.5 我們的選擇——MASM32 SDK軟體包 30
2.3 創建資源 32
2.3.1 資源編譯器的使用 32
2.3.2 所見即所得的資源編輯器 32
2.4 make工具的用法 34
2.4.1 make工具是什麼 34
2.4.2 nmake的用法 35
2.4.3 描述檔案的語法 36
2.5 獲取資料 40
2.5.1 Windows資料的來源 40
2.5.2 Intel處理器資料 42
2.6 構建編程環境 42
2.6.1 IDE還是命令行 43
2.6.2 本書推薦的工作環境 43
2.6.3 嘗試編譯第一個程式 45
第3章 使用MASM 47
3.1 Win32彙編源程式的結構 47
3.1.1 模式定義 49
3.1.2 段的定義 51
3.1.3 程式結束和程式入口 54
3.1.4 注釋和換行 54
3.2 調用API 55
3.2.1 API是什麼 55
3.2.2 調用API 56
3.2.3 API參數中的等值定義 61
3.3 標號、變數和數據結構 63
3.3.1 標號 63
3.3.2 全局變數 65
3.3.3 局部變數 66
3.3.4 數據結構 69
3.3.5 變數的使用 71
3.4 使用子程式 75
3.4.1 子程式的定義 76
3.4.2 參數傳遞和堆疊平衡 77
3.5 高級語法 79
3.5.1 條件測試語句 80
3.5.2 分支語句 81
3.5.3 循環語句 83
3.6 代碼風格 85
3.6.1 變數和函式的命名 86
3.6.2 代碼的書寫格式 88
3.6.3 代碼的組織 89
初級篇
第4章 第一個視窗程式 90
4.1 開始了解視窗 90
4.1.1 視窗是什麼 90
4.1.2 視窗界面 91
4.1.3 視窗程式是怎么工作的 92
4.2 分析視窗程式 99
4.2.1 模組和句柄 99
4.2.2 創建視窗 101
4.2.3 訊息循環 108
4.2.4 視窗過程 110
4.3 視窗間的通信 115
4.3.1 視窗間的訊息互發 115
4.3.2 在視窗間傳遞數據 119
4.3.3 SendMessage和PostMessage函式的區別 119
第5章 使用資源 121
5.1 選單和加速鍵 121
5.1.1 選單和加速鍵的組成 121
5.1.2 選單和加速鍵的資源定義 122
5.1.3 使用選單和加速鍵 128
5.2 圖示和游標 140
5.2.1 圖示和游標的資源定義 141
5.2.2 使用圖示和游標 141
5.3 點陣圖 145
5.3.1 點陣圖簡介 145
5.3.2 在資源中定義點陣圖 146
5.4 對話框 147
5.4.1 對話框簡介 147
5.4.2 對話框的資源定義 149
5.4.3 使用對話框 151
5.4.4 在對話框中使用子視窗控制項 154
5.5 字元串資源 177
5.6 版本信息資源 178
5.6.1 版本信息資源的定義 179
5.6.2 在程式中檢測版本信息 181
5.7 二進制資源和自定義資源 183
5.7.1 使用二進制資源 183
5.7.2 使用自定義資源 184
第6章 定時器和Windows時間 185
6.1 定時器 185
6.1.1 定時器簡介 185
6.1.2 定時器的使用方法 186
6.2 Windows時間 190
6.2.1 Windows時間的獲取和設定 190
6.2.2 計算時間間隔 191
第7章 圖形操作 193
7.1 GDI原理 193
7.1.1 GDI程式的結構 194
7.1.2 設備環境 197
7.1.3 色彩和坐標 203
7.2 繪製圖形 205
7.2.1 畫筆和畫刷 212
7.2.2 繪製像素點 216
7.2.3 繪製圖形 216
7.2.4 繪圖模式 221
7.3 創建和使用點陣圖 222
7.3.1 一個使用點陣圖的時鐘例子 222
7.3.2 創建和使用點陣圖 232
7.3.3 使用設備無關點陣圖 233
7.4 塊傳送操作 235
7.4.1 塊傳送方式 236
7.4.2 塊傳送函式 237
7.5 區域和路徑 241
7.5.1 使用區域 241
7.5.2 使用路徑 243
界面篇
第8章 通用對話框 245
8.1 通用對話框簡介 245
8.2 使用通用對話框 252
8.2.1 “打開”檔案和“保存”檔案對話框 252
8.2.2 字型選擇對話框 254
8.2.3 “顏色”選擇對話框 256
8.2.4 “查找”和“替換”文本對話框 257
8.2.5 “頁面設定”對話框 260
8.2.6 “瀏覽目錄”對話框 261
第9章 通用控制項 262
9.1 通用控制項簡介 262
9.1.1 通用控制項的分類 262
9.1.2 使用通用控制項 263
9.2 使用狀態欄 268
9.2.1 創建狀態欄 273
9.2.2 狀態欄的控制訊息 274
9.2.3 在狀態欄上顯示選單提示信息 276
9.3 使用工具列 277
9.3.1 創建工具列 284
9.3.2 工具列的控制訊息 287
9.3.3 工具列的通知訊息 290
9.4 使用Richedit控制項 294
9.4.1 創建Richedit控制項 305
9.4.2 Richedit控制項的控制訊息 307
9.4.3 Richedit控制項的通知訊息 317
9.5 視窗的子類化 318
9.5.1 什麼是視窗的子類化 318
9.5.2 視窗子類化的實現 319
9.6 控制項的超類化 325
9.6.1 什麼是控制項的超類化 325
9.6.2 控制項超類化的實現 325
系統篇
第10章 記憶體管理和檔案操作 330
10.1 記憶體管理 330
10.1.1 記憶體管理基礎 330
10.1.2 記憶體的當前狀態 331
10.1.3 標準記憶體管理函式 333
10.1.4 堆管理函式 338
10.1.5 虛擬記憶體管理函式 343
10.1.6 其他記憶體管理函式 347
10.2 檔案操作 348
10.2.1 Windows的檔案I/O 348
10.2.2 創建和讀寫檔案 350
10.2.3 查找檔案 360
10.2.4 檔案屬性 368
10.2.5 其他檔案操作 369
10.3 驅動器和目錄 371
10.3.1 邏輯驅動器操作 372
10.3.2 目錄操作 375
10.4 記憶體映射檔案 377
10.4.1 記憶體映射檔案簡介 377
10.4.2 使用記憶體映射檔案 379
第11章 動態程式庫和鉤子 388
11.1 動態程式庫 388
11.1.1 動態程式庫的概念 388
11.1.2 編寫動態程式庫 389
11.1.3 使用動態程式庫 395
11.1.4 動態程式庫中的數據共享 404
11.1.5 在VC++中使用動態程式庫 405
11.2 Windows鉤子 408
11.2.1 什麼是Windows鉤子 408
11.2.2 遠程鉤子的安裝和使用 410
11.2.3 日誌記錄鉤子 418
第12章 多執行緒 422
12.1 進程和執行緒 422
12.2 多執行緒編程 423
12.2.1 一個單執行緒的“問題程式” 423
12.2.2 多執行緒的解決方法 427
12.2.3 與執行緒有關的函式 431
12.3 使用事件對象控制執行緒 435
12.3.1 事件 436
12.3.2 等待事件 437
12.3.3 進一步改進計數程式 439
12.4 執行緒間的同步 441
12.4.1 產生同步問題的原因 441
12.4.2 各種用於執行緒間同步的對象 446
第13章 過程控制 454
13.1 環境變數和命令行參數 454
13.1.1 環境變數 454
13.1.2 命令行參數 457
13.2 執行執行檔 462
13.2.1 方法一:Shell調用 462
13.2.2 方法二:創建進程 464
13.3 進程調試 473
13.3.1 獲取運行中的進程句柄 473
13.3.2 讀寫進程的地址空間 480
13.3.3 調試API的使用 484
13.4 進程的隱藏 494
13.4.1 在Windows 9x中隱藏進程 494
13.4.2 Windows NT中的遠程執行緒 495
第14章 異常處理 508
14.1 異常處理的用途 508
14.2 使用篩選器處理異常 509
14.2.1 註冊回調函式 509
14.2.2 異常處理回調函式 511
14.3 使用SEH處理異常 515
14.3.1 註冊回調函式 516
14.3.2 異常處理回調函式 518
14.3.3 SEH鏈和異常的傳遞 521
14.3.4 展開操作(Unwinding) 523
套用篇
第15章 註冊表和INI檔案 527
15.1 註冊表和INI檔案簡介 527
15.2 INI檔案的操作 528
15.2.1 INI檔案的結構 528
15.2.2 管理鍵值 529
15.2.3 管理小節 537
15.2.4 使用不同的INI檔案 538
15.3 對註冊表的操作 539
15.3.1 註冊表的結構 539
15.3.2 管理子鍵 541
15.3.3 管理鍵值 552
15.3.4 子鍵和鍵值的枚舉 553
15.3.5 註冊表套用舉例 557
第16章 WinSock接口和網路編程 560
16.1 Windows Socket接口簡介 561
16.2 Windows Socket接口的使用 564
16.2.1 IP位址的轉換 564
16.2.2 套接字 568
16.2.3 網路應用程式的一般工作流程 571
16.2.4 監聽、發起連線和接收連線 574
16.2.5 數據的收發 577
16.2.6 一個最簡單的TCP服務端程式 580
16.3 TCP應用程式的設計 586
16.3.1 通信協定和工作執行緒的設計 587
16.3.2 TCP聊天室例子——伺服器端 596
16.3.3 TCP聊天室例子——客戶端 604
16.3.4 以非阻塞方式工作的TCP聊天室客戶端 611
16.3.5 其他常用函式 622
第17章 PE檔案 626
17.1 PE檔案的結構 626
17.1.1 概論 626
17.1.2 DOS檔案頭和DOS塊 627
17.1.3 PE檔案頭(NT檔案頭) 629
17.1.4 節表和節 634
17.2 導入表 649
17.2.1 導入表簡介 649
17.2.2 導入表的結構 651
17.2.3 查看PE檔案導入表舉例 654
17.3 導出表 657
17.3.1 導出表的結構 657
17.3.2 查看PE檔案導出表舉例 660
17.4 資源 663
17.4.1 資源簡介 663
17.4.2 資源的組織方式 664
17.4.3 查看PE檔案中的資源列表舉例 668
17.5 重定位表 672
17.5.1 重定位表的結構 673
17.5.2 查看PE檔案的重定位表舉例 675
17.6 套用實例 677
17.6.1 動態獲取API入口地址 677
17.6.2 在PE檔案上添加執行代碼 684
第18章 ODBC資料庫編程 694
18.1 基礎知識 694
18.1.1 資料庫接口的發展歷史 694
18.1.2 SQL語言 697
18.1.3 ODBC程式的流程 699
18.2 連線資料庫 700
18.2.1 連線和斷開資料庫 700
18.2.2 連線字元串 706
18.3 數據的管理 709
18.3.1 執行SQL語句 709
18.3.2 執行結果的處理 714
18.3.3 獲取結果集中的數據 716
18.3.4 事務處理 721
18.4 資料庫操作的例子 723
18.4.1 結果集處理模組 724
18.4.2 例子的原始碼 729
參考文獻 740
附錄A、B、C(見本書配套光碟)
第1章 背景知識 1
1.1 Win32的軟硬體平台 1
1.1.1 80x86系列處理器簡史 1
1.1.2 Windows的歷史 3
1.1.3 Win32平台的背後——Wintel聯盟 5
1.2 Windows的特色 6
1.3 必須了解的基礎知識 7
1.3.1 80x86處理器的工作模式 7
1.3.2 Windows的記憶體管理 9
1.3.3 Windows的特權保護 17
第2章 準備編程環境 21
2.1 Win32執行檔的開發過程 21
2.2 編譯器和連結器 23
2.2.1 MASM系列 23
2.2.2 TASM系列 27
2.2.3 其他編譯器 28
2.2.4 MASM,TASM還是NASM 29
2.2.5 我們的選擇——MASM32 SDK軟體包 30
2.3 創建資源 32
2.3.1 資源編譯器的使用 32
2.3.2 所見即所得的資源編輯器 32
2.4 make工具的用法 34
2.4.1 make工具是什麼 34
2.4.2 nmake的用法 35
2.4.3 描述檔案的語法 36
2.5 獲取資料 40
2.5.1 Windows資料的來源 40
2.5.2 Intel處理器資料 42
2.6 構建編程環境 42
2.6.1 IDE還是命令行 43
2.6.2 本書推薦的工作環境 43
2.6.3 嘗試編譯第一個程式 45
第3章 使用MASM 47
3.1 Win32彙編源程式的結構 47
3.1.1 模式定義 49
3.1.2 段的定義 51
3.1.3 程式結束和程式入口 54
3.1.4 注釋和換行 54
3.2 調用API 55
3.2.1 API是什麼 55
3.2.2 調用API 56
3.2.3 API參數中的等值定義 61
3.3 標號、變數和數據結構 63
3.3.1 標號 63
3.3.2 全局變數 65
3.3.3 局部變數 66
3.3.4 數據結構 69
3.3.5 變數的使用 71
3.4 使用子程式 75
3.4.1 子程式的定義 76
3.4.2 參數傳遞和堆疊平衡 77
3.5 高級語法 79
3.5.1 條件測試語句 80
3.5.2 分支語句 81
3.5.3 循環語句 83
3.6 代碼風格 85
3.6.1 變數和函式的命名 86
3.6.2 代碼的書寫格式 88
3.6.3 代碼的組織 89
初級篇
第4章 第一個視窗程式 90
4.1 開始了解視窗 90
4.1.1 視窗是什麼 90
4.1.2 視窗界面 91
4.1.3 視窗程式是怎么工作的 92
4.2 分析視窗程式 99
4.2.1 模組和句柄 99
4.2.2 創建視窗 101
4.2.3 訊息循環 108
4.2.4 視窗過程 110
4.3 視窗間的通信 115
4.3.1 視窗間的訊息互發 115
4.3.2 在視窗間傳遞數據 119
4.3.3 SendMessage和PostMessage函式的區別 119
第5章 使用資源 121
5.1 選單和加速鍵 121
5.1.1 選單和加速鍵的組成 121
5.1.2 選單和加速鍵的資源定義 122
5.1.3 使用選單和加速鍵 128
5.2 圖示和游標 140
5.2.1 圖示和游標的資源定義 141
5.2.2 使用圖示和游標 141
5.3 點陣圖 145
5.3.1 點陣圖簡介 145
5.3.2 在資源中定義點陣圖 146
5.4 對話框 147
5.4.1 對話框簡介 147
5.4.2 對話框的資源定義 149
5.4.3 使用對話框 151
5.4.4 在對話框中使用子視窗控制項 154
5.5 字元串資源 177
5.6 版本信息資源 178
5.6.1 版本信息資源的定義 179
5.6.2 在程式中檢測版本信息 181
5.7 二進制資源和自定義資源 183
5.7.1 使用二進制資源 183
5.7.2 使用自定義資源 184
第6章 定時器和Windows時間 185
6.1 定時器 185
6.1.1 定時器簡介 185
6.1.2 定時器的使用方法 186
6.2 Windows時間 190
6.2.1 Windows時間的獲取和設定 190
6.2.2 計算時間間隔 191
第7章 圖形操作 193
7.1 GDI原理 193
7.1.1 GDI程式的結構 194
7.1.2 設備環境 197
7.1.3 色彩和坐標 203
7.2 繪製圖形 205
7.2.1 畫筆和畫刷 212
7.2.2 繪製像素點 216
7.2.3 繪製圖形 216
7.2.4 繪圖模式 221
7.3 創建和使用點陣圖 222
7.3.1 一個使用點陣圖的時鐘例子 222
7.3.2 創建和使用點陣圖 232
7.3.3 使用設備無關點陣圖 233
7.4 塊傳送操作 235
7.4.1 塊傳送方式 236
7.4.2 塊傳送函式 237
7.5 區域和路徑 241
7.5.1 使用區域 241
7.5.2 使用路徑 243
界面篇
第8章 通用對話框 245
8.1 通用對話框簡介 245
8.2 使用通用對話框 252
8.2.1 “打開”檔案和“保存”檔案對話框 252
8.2.2 字型選擇對話框 254
8.2.3 “顏色”選擇對話框 256
8.2.4 “查找”和“替換”文本對話框 257
8.2.5 “頁面設定”對話框 260
8.2.6 “瀏覽目錄”對話框 261
第9章 通用控制項 262
9.1 通用控制項簡介 262
9.1.1 通用控制項的分類 262
9.1.2 使用通用控制項 263
9.2 使用狀態欄 268
9.2.1 創建狀態欄 273
9.2.2 狀態欄的控制訊息 274
9.2.3 在狀態欄上顯示選單提示信息 276
9.3 使用工具列 277
9.3.1 創建工具列 284
9.3.2 工具列的控制訊息 287
9.3.3 工具列的通知訊息 290
9.4 使用Richedit控制項 294
9.4.1 創建Richedit控制項 305
9.4.2 Richedit控制項的控制訊息 307
9.4.3 Richedit控制項的通知訊息 317
9.5 視窗的子類化 318
9.5.1 什麼是視窗的子類化 318
9.5.2 視窗子類化的實現 319
9.6 控制項的超類化 325
9.6.1 什麼是控制項的超類化 325
9.6.2 控制項超類化的實現 325
系統篇
第10章 記憶體管理和檔案操作 330
10.1 記憶體管理 330
10.1.1 記憶體管理基礎 330
10.1.2 記憶體的當前狀態 331
10.1.3 標準記憶體管理函式 333
10.1.4 堆管理函式 338
10.1.5 虛擬記憶體管理函式 343
10.1.6 其他記憶體管理函式 347
10.2 檔案操作 348
10.2.1 Windows的檔案I/O 348
10.2.2 創建和讀寫檔案 350
10.2.3 查找檔案 360
10.2.4 檔案屬性 368
10.2.5 其他檔案操作 369
10.3 驅動器和目錄 371
10.3.1 邏輯驅動器操作 372
10.3.2 目錄操作 375
10.4 記憶體映射檔案 377
10.4.1 記憶體映射檔案簡介 377
10.4.2 使用記憶體映射檔案 379
第11章 動態程式庫和鉤子 388
11.1 動態程式庫 388
11.1.1 動態程式庫的概念 388
11.1.2 編寫動態程式庫 389
11.1.3 使用動態程式庫 395
11.1.4 動態程式庫中的數據共享 404
11.1.5 在VC++中使用動態程式庫 405
11.2 Windows鉤子 408
11.2.1 什麼是Windows鉤子 408
11.2.2 遠程鉤子的安裝和使用 410
11.2.3 日誌記錄鉤子 418
第12章 多執行緒 422
12.1 進程和執行緒 422
12.2 多執行緒編程 423
12.2.1 一個單執行緒的“問題程式” 423
12.2.2 多執行緒的解決方法 427
12.2.3 與執行緒有關的函式 431
12.3 使用事件對象控制執行緒 435
12.3.1 事件 436
12.3.2 等待事件 437
12.3.3 進一步改進計數程式 439
12.4 執行緒間的同步 441
12.4.1 產生同步問題的原因 441
12.4.2 各種用於執行緒間同步的對象 446
第13章 過程控制 454
13.1 環境變數和命令行參數 454
13.1.1 環境變數 454
13.1.2 命令行參數 457
13.2 執行執行檔 462
13.2.1 方法一:Shell調用 462
13.2.2 方法二:創建進程 464
13.3 進程調試 473
13.3.1 獲取運行中的進程句柄 473
13.3.2 讀寫進程的地址空間 480
13.3.3 調試API的使用 484
13.4 進程的隱藏 494
13.4.1 在Windows 9x中隱藏進程 494
13.4.2 Windows NT中的遠程執行緒 495
第14章 異常處理 508
14.1 異常處理的用途 508
14.2 使用篩選器處理異常 509
14.2.1 註冊回調函式 509
14.2.2 異常處理回調函式 511
14.3 使用SEH處理異常 515
14.3.1 註冊回調函式 516
14.3.2 異常處理回調函式 518
14.3.3 SEH鏈和異常的傳遞 521
14.3.4 展開操作(Unwinding) 523
套用篇
第15章 註冊表和INI檔案 527
15.1 註冊表和INI檔案簡介 527
15.2 INI檔案的操作 528
15.2.1 INI檔案的結構 528
15.2.2 管理鍵值 529
15.2.3 管理小節 537
15.2.4 使用不同的INI檔案 538
15.3 對註冊表的操作 539
15.3.1 註冊表的結構 539
15.3.2 管理子鍵 541
15.3.3 管理鍵值 552
15.3.4 子鍵和鍵值的枚舉 553
15.3.5 註冊表套用舉例 557
第16章 WinSock接口和網路編程 560
16.1 Windows Socket接口簡介 561
16.2 Windows Socket接口的使用 564
16.2.1 IP位址的轉換 564
16.2.2 套接字 568
16.2.3 網路應用程式的一般工作流程 571
16.2.4 監聽、發起連線和接收連線 574
16.2.5 數據的收發 577
16.2.6 一個最簡單的TCP服務端程式 580
16.3 TCP應用程式的設計 586
16.3.1 通信協定和工作執行緒的設計 587
16.3.2 TCP聊天室例子——伺服器端 596
16.3.3 TCP聊天室例子——客戶端 604
16.3.4 以非阻塞方式工作的TCP聊天室客戶端 611
16.3.5 其他常用函式 622
第17章 PE檔案 626
17.1 PE檔案的結構 626
17.1.1 概論 626
17.1.2 DOS檔案頭和DOS塊 627
17.1.3 PE檔案頭(NT檔案頭) 629
17.1.4 節表和節 634
17.2 導入表 649
17.2.1 導入表簡介 649
17.2.2 導入表的結構 651
17.2.3 查看PE檔案導入表舉例 654
17.3 導出表 657
17.3.1 導出表的結構 657
17.3.2 查看PE檔案導出表舉例 660
17.4 資源 663
17.4.1 資源簡介 663
17.4.2 資源的組織方式 664
17.4.3 查看PE檔案中的資源列表舉例 668
17.5 重定位表 672
17.5.1 重定位表的結構 673
17.5.2 查看PE檔案的重定位表舉例 675
17.6 套用實例 677
17.6.1 動態獲取API入口地址 677
17.6.2 在PE檔案上添加執行代碼 684
第18章 ODBC資料庫編程 694
18.1 基礎知識 694
18.1.1 資料庫接口的發展歷史 694
18.1.2 SQL語言 697
18.1.3 ODBC程式的流程 699
18.2 連線資料庫 700
18.2.1 連線和斷開資料庫 700
18.2.2 連線字元串 706
18.3 數據的管理 709
18.3.1 執行SQL語句 709
18.3.2 執行結果的處理 714
18.3.3 獲取結果集中的數據 716
18.3.4 事務處理 721
18.4 資料庫操作的例子 723
18.4.1 結果集處理模組 724
18.4.2 例子的原始碼 729
參考文獻 740
附錄A、B、C(見本書配套光碟)