出版時間:2010年11月 出版社:機(jī)械工業(yè)出版社 作者:Johnson M. Hart 頁數(shù):381 譯者:戴鋒,孟慶麟
Tag標(biāo)簽:無
前言
本書描述使用Microsoft Windows應(yīng)用程序編程接口(Application Programming Ingterface,API)進(jìn)行應(yīng)用程序開發(fā)的方法,專注于文件系統(tǒng)、進(jìn)程和線程管理、進(jìn)程間通信、網(wǎng)絡(luò)編程以及同步等核心系統(tǒng)服務(wù)。本書的示例都來自現(xiàn)實場景,其中有許多是基于作者在實踐中所開發(fā)的真實應(yīng)用程序。 Microsoft的32位和64位操作系統(tǒng)家族(目前廣泛使用的版本包括Windows 7、Vista、XP、Server 2003、Server 2008以及CE)支持Win32/Win64 API(也就是Windows API)。更早一些的Windows家族成員有Windows 2000、NT、Me、98和95,雖然這些系統(tǒng)已經(jīng)過時,但本書中的許多主題仍舊適合于這些老系統(tǒng)。 Windows API是應(yīng)用程序開發(fā)的重要因素,經(jīng)常代替POSIX API(UNIX和Linux支持它)作為桌面、服務(wù)器和嵌入式系統(tǒng)應(yīng)用程序開發(fā)的API,不僅現(xiàn)在如此,將來也是如此。許多程序員,無論經(jīng)驗如何,都想快速學(xué)習(xí)Windows API,而本書正是為他們所寫的。 目標(biāo)和方法 本書的目標(biāo)是:在不給讀者過多不必要的細(xì)節(jié)的情況下盡可能快地講解Windows是什么以及如何在實際中使用它。本書不是一本參考指南,而是講解那些最重要的函數(shù)的核心特性,并且展示如何在實際編程中將它們一起使用。有了這些知識,讀者就可以通過廣泛的Microsoft參考文檔來探究更多細(xì)節(jié)和更高級的選項,根據(jù)需求或興趣探究更為隱秘的功能。這種方法會讓W(xué)indows API的學(xué)習(xí)更為容易,而且讓開發(fā)Windows程序成為一種享受,即使偶爾也會有挫折。這種熱情將時不時地顯露出來。當(dāng)然,Windows并不一定比其他操作系統(tǒng)API更好,但它的確有許多引人入勝的特性,而且隨著每個新版本的推出都得到極大的改進(jìn)。 許多Windows書籍用大量篇幅講述進(jìn)程、虛擬內(nèi)存、進(jìn)程間通信和搶占式調(diào)度,卻沒有展示在實際情況下如何使用它們。有UNIX、Linux、IBM MVS或其他操作系統(tǒng)經(jīng)驗的程序員對這些概念并不陌生,他們會急于了解如何在Windows中實現(xiàn)它們。大多數(shù)Windows書籍也會在用戶界面編程這一重要主題上占用大量篇幅。本書有意避開用戶界面的問題,而僅討論簡單的基于字符的控制臺I/O,以便專注于重要的核心功能。
內(nèi)容概要
本書是介紹使用Microsoft Windows應(yīng)用程序編程接口進(jìn)行應(yīng)用程序開發(fā)的專著,專注于文件系統(tǒng)、進(jìn)程和線程管理、進(jìn)程間通信、網(wǎng)絡(luò)編程以及同步等核心系統(tǒng)服務(wù)。本書的示例都來自現(xiàn)實場景,其中有許多是基于作者在實踐中所開發(fā)的真實應(yīng)用程序。本書的目的在于展示如何高效地在現(xiàn)實中使用Windows API特性來開發(fā)高質(zhì)量、高性能的應(yīng)用程序。 本書適合以下讀者閱讀:任何有C或C++編程知識且想快速學(xué)習(xí)Windows應(yīng)用程序開發(fā)的開發(fā)人員、計算機(jī)科學(xué)專業(yè)學(xué)習(xí)系統(tǒng)編程或應(yīng)用程序開發(fā)課程的高年級學(xué)生以及UNIX/Linux程序員。
作者簡介
Jotmson M.Hart是一位顧問,專攻Microsoft Windows和.NET應(yīng)用程序開發(fā)、開放系統(tǒng)計算、技術(shù)培訓(xùn)和寫作以及軟件工程等領(lǐng)域。作為軟件工程師、經(jīng)理、工程主管以及Cilk Ans公司、Sierra Atlantic、HP和Apollo Computer。的高級技術(shù)顧問,他有超過25年的經(jīng)驗。他曾在肯塔基大學(xué)
書籍目錄
譯者序前言作者簡介第1章 Windows初步 1.1 操作系統(tǒng)必備功能 1.2 Windows的演化 1.3 Windows版本 1.3.1 過時的Windows先前版本 1.3.2 Windows NT5和NT6 1.3.3 處理器支持 1.4 Windows的市場角色 1.5 Windows標(biāo)準(zhǔn)以及開放系統(tǒng) 1.6 Windows準(zhǔn)則 1.7 32位和64位源代碼可移植性 1.8 標(biāo)準(zhǔn)C庫:何時用它來處理文件 1.9 使用本書所需的條件 1.9.1 為什么使用C而不是C++ 1.9.2 使用示例 1.10 示例:一個簡單的順序文件復(fù)制程序 1.10.1 使用C庫的文件復(fù)制 1.10.2 使用Windows的文件復(fù)制 1.10.3 使用Windows便利函數(shù)的文件復(fù)制 1.1l 小結(jié) 1.11.1 前瞻 1.11.2 附加閱讀 1.12 習(xí)題 ……第2章 使用Windows文件系統(tǒng)和字符I/O第3章 高級文件、目錄處理與注冊表第4章 異常處理第5章 內(nèi)存管理、內(nèi)存映射文件和DLL第6章 進(jìn)程管理第7章 線程和調(diào)試第8章 線程同步第9章 鎖、性能以及NT6增強(qiáng)第10章 高級線程同步第11章 進(jìn)程間通信第12章 使用Windows套接字進(jìn)行網(wǎng)絡(luò)編程第13章 Windows服務(wù)第14章 異步輸入/輸出與完成端口第15章 Windows對象的安全附錄A附錄B附錄C參考文獻(xiàn)
章節(jié)摘錄
插圖:示例的設(shè)計旨在:·演示W(wǎng)indows函數(shù)常見的、有代表性的以及有用的應(yīng)用?!づc在程序開發(fā)、咨詢和培訓(xùn)中所遇到的真實編程情況相聯(lián)系。一些客戶以及參加我的課程的人基于這些示例開發(fā)他們自己的系統(tǒng)。在提供咨詢時,我經(jīng)常碰到與示例中所用的代碼相似的代碼,有幾次還碰到從前一版本的書中直接取來或經(jīng)過修改的代碼(讀者可隨意這樣做,如果能在文檔中致謝我將不勝感激)。此代碼經(jīng)常作為COM、.NET或c++對象的一部分。由于時間和空間的限制,這些示例是“真實世界”的示例并且解決“真實世界”的問題?!?qiáng)調(diào)函數(shù)的實際行為以及與實際應(yīng)用程序的交互,這與讀者在閱讀了文檔之后所想到的并不總是一致。本書中的正文和示例都專注于函數(shù)間的交互,而不是函數(shù)本身?!ぴ鲩L與擴(kuò)張,既以自然的方式對前面的解決方案添加新功能,又探究可選的其他實現(xiàn)技術(shù)?!崿F(xiàn)UNIX/Unux命令,比如lstouch、chmod和sort,這樣既以熟悉的上下文展示W(wǎng)indows函數(shù),又創(chuàng)建一組有用的工具。對相同命令的不同實現(xiàn)也讓我們可以很容易地對高級Windows特性所具有的性能優(yōu)勢進(jìn)行比較。附錄c包含性能測試結(jié)果。前面章節(jié)中的示例通常較短,后面章節(jié)中的示例會適當(dāng)長一些。每章末尾的習(xí)題提供可研究的另一種設(shè)計、主題,以及額外的、超出本書范圍但卻是重要的功能。有些習(xí)題很容易,而有一些則頗具挑戰(zhàn)性。我們經(jīng)常給出清楚標(biāo)注的有瑕疵的解決方案,因為解決錯誤是提高技能的好方法。所有的示例都在Windows 7、Vista、Server 2008、XP以及更早的系統(tǒng)下調(diào)試、測試過。測試包括32位和64位兩個版本。所有程序也都在單處理器和多處理器系統(tǒng)下測試過,最多用到16個處理器??停琍/服務(wù)器應(yīng)用程序的測試使用了多個客戶同時與服務(wù)器交互。但是,我們并不對程序的正確性、完整性或者針對任何目的的適用性提供保證。毫無疑問,即使是最簡單的示例也包含瑕疵或者在某些情況下會出錯,這是幾乎所有軟件的共性。但是,如果能將任何與程序瑕疵有關(guān)的信息提供給我,我將甚為感激;如果能有這些瑕疵的修改建議則更為理想,我會將這些信息張貼在本書的Web站點上,以便讓所有人受益。
媒體關(guān)注與評論
如果你正在編寫本地Win32程序,或者只是想了解操作系統(tǒng)在底層到底做了些什么,那么你需要閱讀John的書。他講解了真正的系統(tǒng)程序員絕對必須知道的東西。我推薦他的書?!? ——Chris Sells,Microsoft公司 “本書很好地集成了Vista、Windows 2008和Windows 7 API的新特性,當(dāng)然,它也很好地講解了構(gòu)建以Windows操作系統(tǒng)為目標(biāo)的應(yīng)用程序的基本元素?!? ——Jason Beres,Infragistics產(chǎn)品管理
編輯推薦
《Windows系統(tǒng)編程(原書第4版)》是Windows API編程的參考指南。內(nèi)容針對Windows 7、Windows Server 2008和Windows Vista進(jìn)行了更新?!禬indows系統(tǒng)編程(原書第4版)》廣泛地講解了64位編程、并行性、多核系統(tǒng)等新的關(guān)鍵主題,并更新和優(yōu)化了全部代碼示例——分別在32位和64位的單處理器和多處理器系統(tǒng)以及Windows 7、Vista、Windows Server 2008和Windows XP下進(jìn)行了調(diào)試和測試。為了講解程序的運行,《Windows系統(tǒng)編程(原書第4版)》使用數(shù)十個屏幕截圖來演示示例程序的結(jié)果。作者系統(tǒng)地講解了API層面的Windows外部信息。展示了Windows程序員所需的所有知識,并且強(qiáng)調(diào)了Windows函數(shù)的實際行為以及與實際應(yīng)用程序的交互。作者從用于單處理器應(yīng)用程序的特性開始,逐漸深入講解更為復(fù)雜的函數(shù)以及多線程環(huán)境。《Windows系統(tǒng)編程(原書第4版)》包含的主題有:文件系統(tǒng)、內(nèi)存管理、異常、進(jìn)程、線程、同步、進(jìn)程間通信、Windows服務(wù)以及安全。本版的更新內(nèi)容:在多核系統(tǒng)中利用并行性且最大化其性能。促進(jìn)Windows、Linux和LJNIX之間的源代碼的可移植性以及應(yīng)用程序的互操作性。使用64位地址空間并確保64位或32位的可移植性。使用線程、線程池和完成端口來改進(jìn)性能和可伸縮性。用于在所有系統(tǒng)中改進(jìn)程序可靠性和性能的技術(shù)。介紹從Windows Vista開始就具備的Windows性能增強(qiáng)API特性。比如輕量級讀與寫鎖和條件變量。經(jīng)典Windows系統(tǒng)編程教科書Windows API編程權(quán)威指南針對Windows 7、WindowsServer 2008和Windows Vista全面更新
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載