資料介紹
如題
本書介紹了在Microsoft Windows 98、Microsoft Windows NT 4.0和Windows NT 5.0下程序寫作的方法。這些程序用C語言編寫并使用原始的Windows Application Programming Interface(API)。如在本章稍后所討論的,這不是寫作Windows程序的唯一方法。然而,無論最終您使用什么方式寫作程序,了解Windows API都是非常重要的。正如您可能知道的,Windows 98已成為使用Intel 32位微處理器(例如486和Pentium)的IBM兼容型個人計算機環境上最新的圖形操作系統之代表。Windows NT是IBM PC兼容機種以及一些RISC(精簡指令集計算機)工作站上使用的Windows工業增強型版本。
使用本書有三個先決條件。
首先,您應該從使用者的角度熟悉Windows 98。不要期望可以在不了解Windows使用者接口的情形下開發其應用程序。因此,我建議您在開發程序(或在進行其它工作)時使用執行Windows的機器來跑Windows應用程序。
第二,您應了解C語言。如果要寫Windows程序,一開始卻不想了解C語言,那不是一個好主意。我建議您在文字控制臺環境中,例如在Windows 98 MS-DOS命令提示窗口下提供的環境中學習C語言。Windows程序設計有時包括一些非文字模式程序設計的C語言部分;在這些情況下,我將針對這些問題提供討論。但大多數情況下,您應非常熟悉該語言,特別是C語言的結構和指針。了解標準C語言執行期鏈接庫的一些相關知識是有幫助的,但不是必要的。
第三,您應該在機器上安裝一個適于進行Windows程序設計的32位C語言編譯器和開發環境。在本書中,假定您正在使用Microsoft Visual C++ 6.0,該軟件包可獨立購買,也可作為Visual Studio 6.0軟件包的一部分購買。到此為止,我將不再假設您具有任何圖形使用者接口(如Windows)的程序寫作經驗。 WINDOWS環境 Windows幾乎不需要介紹。然而人們很容易忘記Windows給辦公室和家庭桌上型計算機所帶來的重大改變。Windows在其早期曾經走過一段坎坷的道路,征服桌上型計算機市場的前途一度相當渺茫。
開始
Windows上執行的程序可共享在稱為「動態鏈接庫」的文件中的例程。Windows包括一個機制,能夠在執行時連結使用動態鏈接庫中例程的程序。Windows自身基本上就是一個動態鏈接庫的集合。 Windows是一個圖形接口,Windows程序能夠在視訊顯示器和打印機上充分利用圖形和格式化文字。圖形接口不僅在外觀上更有吸引力,而且還能夠讓使用者傳遞高層次的信息。 Windows應用程序不能直接存取屏幕和打印機等圖形顯示設備硬件。相反,Windows提供一種圖形程序語言(稱作圖形設備接口,或者GDI),使顯示圖形和格式化文字更容易。Windows虛擬化了顯示硬件,使為Windows編寫的程序可使用任何具有Windows設備驅動程序的視頻卡或打印機,而程序無需確定系統相連的設備類型。對Windows開發者來說,將與設備無關的圖形接口輸出到IBM PC上不是件輕松的事。PC的設計是基于開放式架構的原則,鼓勵第三方硬件制造商為PC開發接口設備,而且開發了大量這樣的設備。雖然出現了多種標準,PC上的傳統MS-DOS程序仍不得不各自支持許多不同的硬設備。這對MSDOS字處理軟件來說非常普遍,它們連同1到2張有許多小文件的磁盤一同銷售,每個文件支持一種特定的打印機。Windows程序不要求每個應用程序都自行開發這些驅動程序,因為這種支持是Windows的一部分。
動態鏈接 Windows運作機制的核心是一個稱作「動態鏈接」的概念。Windows提供了應用程序豐富的可呼叫函數,大多數用于實作其使用者接口和在視訊顯示器上顯示文字和圖形。這些函數采用動態鏈接庫(Dynamic Linking Library,DLL)的方式撰寫。這些動態鏈接庫是些具有.DLL或者有時是.EXE擴展名的文件,在Windows 98中通常位于\WINDOWS\SYSTEM子目錄中,在Windows NT中通常位于\WINNT\SYSTEM和\WINNT\SYSTEM32子目錄中。在早期,Windows的主要部分僅通過三個動態鏈接庫實作。這代表了Windows的三個主要子系統,它們被稱作Kernel、User和GDI。當子系統的數目在Windows最近版本中增多時,大多數典型的Windows程序產生的函數呼叫仍對應到這三個模塊之一。Kernel(日前由16位的KRNL386.EXE和32位的KERNEL32.DLL實現)處理所有在傳統上由操作系統核心處理的事務-內存管理、文件I/O和多任務管理。User(由16位的USER.EXE和32位的USER32.DLL實作)指使用者接口,實作所有窗口運作機制。GDI(由16位的GDI.EXE和32位的GDI32.DLL實作)是一個圖形設備接口,允許程序在屏幕和打印機上顯示文字和圖形。 Windows 98支持應用程序可使用的上千種函數呼叫。每個函數都有一個描述名稱,例如CreateWindow。該函數(如您所猜想的)為程序建立新窗口。所有應用程序可以使用的Windows函數都在表頭文件里預先聲明過。在Windows程序中,使用Windows函數的方式通常與使用如strlen等C語言鏈接庫函數的方式相同。主要的區別在于C語言鏈接庫函數的機械碼連結到您的程序代碼中,而Windows函數的程序代碼在您程序執行文件外的DLL中。當您執行Windows程序時,它通過一個稱作「動態鏈接」的過程與Windows相接。一個Windows的.EXE文件中有使用到的不同動態鏈接庫的參考數據,所使用的函數即在那些動態鏈接庫中。當Windows程序被加載到內存中時,程序中的呼叫被指向DLL函數的入口。如果該DLL不在內存中,就把它加載到內存中。當您連結Windows程序以產生一個可執行文件時,您必須連結程序開發環境提供的特定「引用鏈接庫(import library)」。這些引用鏈接庫包含了動態鏈接庫名稱和所有Windows函數呼叫的引用信息。連結程序使用該信息在.EXE文件中建立一個表格,在加載程序時,Windows使用它將呼叫轉換為Windows函數。
- Java編程思想(第五版) 0次下載
- 電機學第五版電子書 1次下載
- 機械設計基礎答案(第五版)第17章 0次下載
- 機械設計基礎答案(第五版)第9章 0次下載
- 機械設計基礎答案(第五版)第15章 0次下載
- 機械設計基礎答案(第五版)第12章 0次下載
- 微機原理--微機原理及應用(第五版) 0次下載
- 電路第五版課后答案 0次下載
- 數字電子技術基礎_閻石第五版 0次下載
- 第五版鎖相環設計、仿真與應用(中文版) 0次下載
- 康華光-電子技術基礎_模擬部分(第五版)課后答案(完整版) 0次下載
- [計算機網絡第五版]計算機網絡第五版 0次下載
- [計算機網絡第五版]計算機網絡第五版 0次下載
- [計算機網絡第五版]計算機網絡第五版 0次下載
- Java程序設計教程(第五版)源代碼 0次下載
- 為何程序下載時搜索不到CPU? 723次閱讀
- PLC程序設計常用方法總結 4430次閱讀
- 淺談項目中的程序設計思路與步驟 972次閱讀
- 解析PLC梯形圖程序設計 1402次閱讀
- RTOS應用程序設計的五個實戰技巧 970次閱讀
- 如何使用NSIS創建Windows安裝程序 3943次閱讀
- 做一個STM32小車很簡單嗎 1156次閱讀
- wifi技術標準第四代第五代區別 3.6w次閱讀
- 如何利用邏輯設計法進行PLC的程序設計 3760次閱讀
- 介紹MATLAB程序設計中M程序及使用方法 6845次閱讀
- windows和Linux程序員到底有沒有區別? 1w次閱讀
- dsp28335如何入門:程序設計步驟 1.9w次閱讀
- 由傳統電工圖轉換為階梯圖的過程,淺談程序設計 5389次閱讀
- 單片機與程序設計(下) 2826次閱讀
- 焊接機理完整版 3772次閱讀
下載排行
本周
- 1GP328和GP88S對講機的維修實列資料合集免費下載
- 0.03 MB | 9次下載 | 10 積分
- 2i.MX Linux開發實戰指南—基于野火i.MX系列開發板
- 17.86 MB | 6次下載 | 免費
- 3I2C噪聲毛刺濾波
- 52.3KB | 5次下載 | 免費
- 4OV426相機橋接處理器規格書
- 1.63 MB | 4次下載 | 5 積分
- 5新概念模擬電路(電子版全集)
- 29.33 MB | 3次下載 | 免費
- 6Type-C VL160數據手冊
- 0.92 MB | 3次下載 | 3 積分
- 7VC 9805A+電路圖和PCB圖(修改版)
- 1.19 MB | 1次下載 | 免費
- 8電流電壓傳感器V10
- 8.02 MB | 1次下載 | 免費
本月
- 1ACDC變換器的原理圖免費下載
- 0.26 MB | 65次下載 | 免費
- 2無刷電機控制方案設計合作
- 1.05 MB | 19次下載 | 免費
- 3美的超薄電磁爐TM-S1-09B主板原理圖
- 0.08 MB | 12次下載 | 免費
- 4GP328和GP88S對講機的維修實列資料合集免費下載
- 0.03 MB | 9次下載 | 10 積分
- 5舒爾SLX4無線話筒接收機原理圖:二次變頻超外差部分
- 0.27 MB | 8次下載 | 免費
- 6TPS55288布局指南
- 1.75MB | 7次下載 | 免費
- 7i.MX Linux開發實戰指南—基于野火i.MX系列開發板
- 17.86 MB | 6次下載 | 免費
- 8I2C噪聲毛刺濾波
- 52.3KB | 5次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191363次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81580次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73805次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評論
查看更多