Windows 程序設(shè)計(jì):第5版

出版時(shí)間:2003-11-1  出版社:北京大學(xué)出版社  作者:CharlesPetzold  頁(yè)數(shù):1346  譯者:北京博彥科技發(fā)展有限公司  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

  Windows程序設(shè)計(jì)(第5版)對(duì)于Windows程序員來(lái)說(shuō),“從 Chares 的(Window程序設(shè)計(jì))一書(shū)中尋找答案?!睅缀醭闪艘痪渲晾砻浴6╓indows程序設(shè)計(jì)》第5版是專(zhuān)門(mén)為在Microsoft Windows 98、Microsoft Windows NT 4和 Windows NT 5下編程的開(kāi)發(fā)人員編寫(xiě)的。內(nèi)容博大精深,并有大量的源代碼來(lái)幫助讀者掌握Windows編程?!禬indows程序設(shè)計(jì)(第5版)(套裝上下冊(cè))》覆蓋了Windows編程的方方面面,是廣大編程人員和學(xué)習(xí)Windows編程的讀者必備的一本好書(shū)。

作者簡(jiǎn)介

  Charles Petzold 從1984年開(kāi)始編寫(xiě)個(gè)人計(jì)算機(jī)程序,從1985年開(kāi)始編寫(xiě)Micrososft Win-dows程序。他在《Microsoft Systems Journal》1986年12月號(hào)上發(fā)表了第一篇關(guān)于Windows程序設(shè)計(jì)的雜志論文。從1986年到1995年,他為《PC Magazine》撰寫(xiě)“Environments”專(zhuān)欄,給讀者介紹了Windows和OS/2程序設(shè)計(jì)的許多方面?!  禬indows程序設(shè)計(jì)》由微軟出版社在1988年首次出版,后來(lái)被認(rèn)為是這方面最好的導(dǎo)論性讀本。在1994年5月,Petzold作為僅有的七個(gè)人之一(并且是唯一的作家)被《Windows Magezine》和Microsoft公司授予Windows Pioneer獎(jiǎng),以表彰他對(duì)Microsoft Windows的成功做出的貢獻(xiàn)。  在1999年秋天,微軟出版社將出版Charles Petzold 面向普通讀者的第一本書(shū)。暫時(shí)命名為《Code:The Hidden Language of Computer Hardware and Software》,這本書(shū)專(zhuān)門(mén)介紹數(shù)字信息的本質(zhì)以及計(jì)算機(jī)處理數(shù)字信息的方式。

書(shū)籍目錄

對(duì)《Windows 程序設(shè)計(jì)》的評(píng)論作者的話作者簡(jiǎn)介上冊(cè)第一部分 基礎(chǔ)知識(shí)第一章 開(kāi)始1.1 Windows環(huán)境1.1.1 Windows簡(jiǎn)史1.1.2 Windows方面1.1.3 動(dòng)態(tài)鏈接1.2 Windows編程選項(xiàng)1.2.1 API和內(nèi)存模式1.2.2 語(yǔ)言選項(xiàng)1.2.3 編程環(huán)埃1.2.4 API文檔1.3 編寫(xiě)一個(gè)Windows程序1.3.1 字符模式(Character-Mode)模型1.3.2 Windows等價(jià)程序1.3.3 頭文件1.3.4 程序入四點(diǎn)1.3.5 Message Box函數(shù)1.3.6 編譯、鏈接和運(yùn)行第二章 Unicode簡(jiǎn)介2.1 字符集簡(jiǎn)史2.1.1 美國(guó)標(biāo)準(zhǔn)2.1.2 國(guó)際方面2.1.3 擴(kuò)展ASCII2.1.4 漢字節(jié)字符集2.1.5 Unicode解決方案2.2 寬字符和C2.2.1 Char數(shù)據(jù)類(lèi)型2.1.2 寬字符2.2.3 寬字符庫(kù)函數(shù)2.2.4 維護(hù)單一源代碼2.3 寬字符和Windows2.3.1 Windows頭文件類(lèi)型2.3.2 Windows函數(shù)調(diào)用2.3.3 Windows的字符串函數(shù)2.3.4 在Windows中使用Print2.3.5 格式化消息框2.3.6 本書(shū)與國(guó)際化第三章 窗口和消息3.1 自己的窗口3.1.1 總體結(jié)構(gòu)3.1.2 HELLOWIN程序3.1.3 總體考慮3.1.4 注冊(cè)窗口類(lèi)3.1.5 創(chuàng)建窗口3.1.6 顯示窗口3.1.7 消息循環(huán)3.1.8 窗口過(guò)程3.1.9 處理消息3.1.10 播放聲音文件3.1.11 WM-PAINT消息3.1.12 WM-destroy消息3.2 Windows編程的難點(diǎn)3.2.1 別調(diào)用我,我會(huì)調(diào)用您3.2.2 進(jìn)隊(duì)消息與不過(guò)隊(duì)消息3.2.3 行動(dòng)迅速第四章 輸出文本……下冊(cè)

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Windows 程序設(shè)計(jì):第5版 PDF格式下載


用戶評(píng)論 (總計(jì)11條)

 
 

  •     大一下學(xué)期,從五一節(jié)開(kāi)始讀的。三本書(shū),當(dāng)時(shí)還在網(wǎng)上買(mǎi)的盜版,質(zhì)量奇差??上抑话训谝槐緯?shū)的大半部分讀完了,相當(dāng)于全部的1/4,后來(lái)暑假去學(xué)Java了。不過(guò)確實(shí)受益匪淺,事件驅(qū)動(dòng)的編程,UI的設(shè)計(jì),計(jì)時(shí)器等等。很可惜當(dāng)年沒(méi)有把這本書(shū)看完。
  •     經(jīng)典,內(nèi)容很全.需要先學(xué)會(huì)C語(yǔ)言才能看懂這本書(shū).
      對(duì)于函數(shù)的用法要熟練.win32api就是C語(yǔ)言函數(shù).
  •     看了有一周的windows程序設(shè)計(jì)了,今天總結(jié)總結(jié).
      其實(shí)這本書(shū)我2003年就買(mǎi)了,也大概看了看,可惜當(dāng)時(shí)技術(shù)掌握的不夠牢固,很多地方根本看不懂,也沒(méi)有認(rèn)真去啃一啃,隨便就放下了.
      現(xiàn)在又過(guò)了5年了,再看起來(lái),感覺(jué)果然不一樣的很.
      看看windows API設(shè)計(jì)的,再比較比較Java語(yǔ)言的設(shè)計(jì),很明顯能看出高下之別.
      Windows API設(shè)計(jì)的時(shí)候,是基于C語(yǔ)言來(lái)進(jìn)行設(shè)計(jì)的.其中大量用到的是結(jié)構(gòu),而無(wú)論是結(jié)構(gòu)也好,函數(shù)也好,指針也好,這些東西都是可以直接基于匯編語(yǔ)言進(jìn)行轉(zhuǎn)換的.
      結(jié)構(gòu)就是一段內(nèi)存,每個(gè)字段占據(jù)其中固定位置的內(nèi)存空間;
      函數(shù)就是一段內(nèi)存,函數(shù)指針指向內(nèi)存的開(kāi)始點(diǎn),調(diào)用函數(shù)時(shí),通過(guò)堆棧壓入變量,調(diào)用結(jié)束后彈出堆棧;
      指針就是內(nèi)存地址,傳遞指針就是傳遞內(nèi)存地址.
      所以在windows API的設(shè)計(jì)中,沒(méi)有類(lèi)的概念,沒(méi)有對(duì)象的概念,純粹是結(jié)構(gòu)定義,函數(shù)定義,指針傳遞的概念,在這個(gè)概念的基礎(chǔ)上可以搭建出宏偉的建筑出來(lái).
      操作系統(tǒng)負(fù)責(zé)底層的具體工作,對(duì)外公開(kāi)的就是所有的標(biāo)準(zhǔn)API,你可以通過(guò)任何語(yǔ)言來(lái)訪問(wèn)和調(diào)用這些API.
      
      而Java語(yǔ)言呢,從一開(kāi)始設(shè)計(jì)就是獨(dú)立于操作系統(tǒng)的.獨(dú)立于操作系統(tǒng)沒(méi)有關(guān)系,但不好的就是他是完全基于對(duì)象的一個(gè)語(yǔ)言,這樣即使兩個(gè)對(duì)象的定義內(nèi)部結(jié)構(gòu)是一樣的,僅僅因?yàn)樗麄兊拿植煌?就不能直接傳遞和復(fù)制,而必須手工編碼進(jìn)行轉(zhuǎn)換,這個(gè)實(shí)在是太繁瑣了.
      java語(yǔ)言在設(shè)計(jì)的時(shí)候,沒(méi)有把結(jié)構(gòu)這個(gè)元素考慮進(jìn)來(lái),為了所謂的方便性,直接用Object取而代之,結(jié)果就是在程序設(shè)計(jì)實(shí)現(xiàn)時(shí),有很多低效的代碼轉(zhuǎn)換來(lái)轉(zhuǎn)換去.
      
      也許Java應(yīng)該好好研究研究windos API的設(shè)計(jì)思路,再改進(jìn)改進(jìn).
      
      windows的全部API,不過(guò)幾千個(gè),可現(xiàn)在Java的標(biāo)準(zhǔn)類(lèi)庫(kù),廣類(lèi)就不下一千個(gè),這還不考慮這些類(lèi)之間復(fù)雜的繼承關(guān)系,以及重載帶來(lái)的理解上的困難和混亂.
      
      windows API是沒(méi)有繼承這個(gè)概念的.我的問(wèn)題是,既然完全不使用這個(gè)概念,仍然可以設(shè)計(jì)出類(lèi)似Windows這樣復(fù)雜的系統(tǒng)出來(lái),或者說(shuō)能提供如此復(fù)雜的功能調(diào)用API出來(lái),那么我們自己設(shè)計(jì)系統(tǒng)的時(shí)候,提供給外部那么復(fù)雜的調(diào)用接口,是否真的有那個(gè)必要呢?
      
      很多系統(tǒng)設(shè)計(jì)的如此復(fù)雜,以致于難以維護(hù)和升級(jí),這些問(wèn)題不僅僅是水平問(wèn)題,更重要的恐怕是思路問(wèn)題。如果沿用java提供的標(biāo)準(zhǔn)方式,恐怕設(shè)計(jì)出來(lái)的系統(tǒng)就難免走在復(fù)雜的老路上。
      
      既然windows的API設(shè)計(jì)的都如此簡(jiǎn)單,我們自己又有多少理由來(lái)把系統(tǒng)設(shè)計(jì)那么復(fù)雜呢?
      
      暫時(shí)沒(méi)有標(biāo)準(zhǔn)答案,繼續(xù)思考學(xué)習(xí)中。
  •   兄弟,你這本書(shū)能轉(zhuǎn)讓給我看一下嗎?
    我的MSN:soonfly@hotmail.com
    誠(chéng)心想讀這套書(shū)
    電子版看著太費(fèi)力了,而且不方便標(biāo)注
  •   樓主將Windows API和java 類(lèi)庫(kù)比較是不恰當(dāng)?shù)?。你把MFC和java類(lèi)庫(kù)比較更合適。
    底層的設(shè)計(jì)簡(jiǎn)單是需要的。但如果樓主認(rèn)為“簡(jiǎn)單”的就是最好的選擇,那么匯編語(yǔ)言,或者01代碼應(yīng)該比Windows API更加簡(jiǎn)單,但為什么越來(lái)越高級(jí),抽象層次更高的語(yǔ)言涌現(xiàn)出來(lái)呢?
    答案就是:使用的舒適性和平滑的學(xué)習(xí)曲線。
    雖然使用很簡(jiǎn)單的API構(gòu)建了window這個(gè)復(fù)雜的系統(tǒng),但是構(gòu)建的過(guò)程是復(fù)雜的,而這個(gè)過(guò)程是可以反復(fù)重用的,那么就把這個(gè)過(guò)程的某些部分形式化為固定的代碼類(lèi)庫(kù),程序員可以在更高的抽象層次上工作,達(dá)到舒適和易學(xué)習(xí)的目的。
    文中所說(shuō)的java沒(méi)有考慮“結(jié)構(gòu)”這個(gè)因素,我理解樓主的意思,應(yīng)該是沒(méi)有指針吧,因?yàn)轭?lèi)天生就是融合了結(jié)構(gòu)的。
  •   對(duì)于樓主的有些看法,我更愿意支持樓上的觀點(diǎn)!
    不過(guò)這段話寫(xiě)得很不錯(cuò)?。?br /> “ 結(jié)構(gòu)就是一段內(nèi)存,每個(gè)字段占據(jù)其中固定位置的內(nèi)存空間;
      函數(shù)就是一段內(nèi)存,函數(shù)指針指向內(nèi)存的開(kāi)始點(diǎn),調(diào)用函數(shù)時(shí),通過(guò) 堆棧壓入變量,調(diào)用結(jié)束后彈出堆棧;
      指針就是內(nèi)存地址,傳遞指針就是傳遞內(nèi)存地址.”
  •   你如果把win32api和xnix的系統(tǒng)api進(jìn)行對(duì)比,你會(huì)覺(jué)得win32api好恐怖,好復(fù)雜 ~v~
  •   樓上,win32 API包含大量的GDI函數(shù),xnix的對(duì)應(yīng)物都放在X11里了
    你知道的,X11的API更恐怖。
  •   根據(jù)樓主的觀點(diǎn),微軟根本就不應(yīng)該搞什么 .net 和 c#
  •   樓主大概還在學(xué)校讀書(shū)吧。沒(méi)出來(lái)混過(guò)就是見(jiàn)解獨(dú)特。
  •   我也曾經(jīng)有過(guò)這樣的疑問(wèn):)
    有了c為什么還要那么復(fù)雜的c++;
    有了api為什么還要有mfc;
    有了dll為什么還需要那么復(fù)雜的com.;
    有了com為什么又有.net;
    我的理解是,他們都是為了提供更高的抽象,讓你在更高的層次解決問(wèn)題
    靠!
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7