Windows平臺(tái)可謂是當(dāng)今最為流行的平臺(tái)之一(甚至可以沒有之一)其用戶量遠(yuǎn)遠(yuǎn)超過了Linux,Mac,Unix等主流PC操作系統(tǒng)平臺(tái)。作為一名程序員,選擇Windows作為自己的開發(fā)平臺(tái)無疑是一個(gè)正確的選擇。但是,由于Windows開發(fā)人員數(shù)量的龐大,使得Windows開發(fā)人員的“價(jià)值”顯得普遍沒有Linux,Max等平臺(tái)下的高。換句換說,就說庸庸碌碌之輩太多。從一個(gè)某某培訓(xùn)機(jī)構(gòu)學(xué)上幾個(gè)月的.net的人就自稱是Windows開發(fā)高手了,這當(dāng)然會(huì)讓人笑掉大牙。其次由于Microsoft的開發(fā)平臺(tái)和工具通常很容易入手,所以使得許多程序員誤以為這就是開發(fā)Windows應(yīng)用,認(rèn)為Windows開發(fā)理應(yīng)簡單。 作為一名學(xué)生,我從自己的角度談?wù)勅绾握嬲蔀橐幻鸚indows開發(fā)高手。注意,以下說講的都是在自己的語言關(guān)已過的前提下,你應(yīng)該熟練結(jié)構(gòu)化程序設(shè)計(jì),對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)有一定的理解。為什么不是精通面向?qū)ο螅棵嫦驅(qū)ο筮@潭水真的太深了,做了一輩子開發(fā)的程序員也許都不敢說自己完全掌握了面向?qū)ο蟪绦蛟O(shè)計(jì)精髓。
1>熟練掌握Windows SDK編程 掌握Windows SDK開發(fā)其實(shí)是對(duì)WIndows操作系統(tǒng)進(jìn)行一次初步的探究。雖然MFC已經(jīng)將SDK進(jìn)行了很好的封裝,但是想要真正掌握Windows程序設(shè)計(jì)的精髓,還是要從SDK開始。如果初學(xué)者一開始就拿著一本《深入淺出MFC》來看的話,我相信是看不下去的。從C語言控制臺(tái)編程跨向Windows程序設(shè)計(jì)其實(shí)是需要花一點(diǎn)功夫的。初學(xué)者往往在學(xué)習(xí)Windows程序設(shè)計(jì)時(shí)第一個(gè)不習(xí)慣的地方是大量MicroSoft定義的宏和結(jié)構(gòu)體。這些“旁枝”往往成為初學(xué)者的一大障礙,是的初學(xué)者將精力往往放在了這些不重要的地方,而不是放在Windows消息機(jī)制,窗口架構(gòu)等主要的地方。MFC這一點(diǎn)做的更為深入,所以建議初學(xué)者一定要從Windows SDK進(jìn)行學(xué)些。
推薦讀物: 《Windows程序設(shè)計(jì)》------經(jīng)典中的經(jīng)典,Windows開發(fā)人必備讀物,由微軟中國的員工翻譯過來的,現(xiàn)在已經(jīng)是第五版了。 《Windows核心編程》------站在一個(gè)更高的層次審視Windows。
2>熟練掌握MFC編程 有很多人說MFC已經(jīng)過時(shí)了。的確,這一點(diǎn)不得不承認(rèn),Windows自從將重點(diǎn)放在.net戰(zhàn)略上后,基本上對(duì)傳統(tǒng)C/C++開發(fā)這一塊基本上屬于放羊式管理。到現(xiàn)在為止都沒有一套像樣的界面庫。那么,我們?yōu)槭裁催€要學(xué)習(xí)MFC。 首先,學(xué)習(xí)MFC學(xué)習(xí)的是一種思想,是從Windows SDK結(jié)構(gòu)化程序設(shè)計(jì)跨向面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)堅(jiān)實(shí)的橋梁。雖然不能說這座橋梁有多么完美,但是歷經(jīng)了這么長時(shí)間的考驗(yàn)任然沒有被淘汰,一定有它存在的價(jià)值。MFC的架構(gòu)是我們必須要學(xué)習(xí)的地方,他是.net Form開發(fā)的基礎(chǔ)。也許有很多人一開始就進(jìn)行.net Form開發(fā),C# ,VB用的很舒服,但是這僅僅是知其然不知其所以然。這樣的開發(fā)者永遠(yuǎn)只是停留在表面,而不知道整個(gè).net Form的架構(gòu)是怎樣的。稍微遇上一些比較復(fù)雜的問題,就束手無策了。所以MFC是必須要掌握的。 其次,MFC是直接調(diào)用Win 32API對(duì)Windows進(jìn)行操作的,效率要比在虛擬機(jī)上運(yùn)行的.net高很多,其次C++語言的效率也是要高于C#的。這就是為什么和圖形圖像有關(guān)的編程一般都會(huì)選擇C++了。在高性能的某塊通常都會(huì)選擇C/C++進(jìn)行開發(fā),C#,VB等來調(diào)用。并且.net對(duì)傳統(tǒng)Win32 API的調(diào)用是一度受限的。有的時(shí)候不得不用P/INVOKE的方式進(jìn)行Win32 api的調(diào)用。
推薦讀物:《VC++深入詳解》--------孫鑫寫的書,非常適合MFC的初學(xué)者。 《深入淺出MFC》---------侯捷大師對(duì)MFC做了一次完美的外科手術(shù),讀懂它,反復(fù)鉆研咀嚼,你將會(huì)完全掌握MFC的精髓所在。
3>掌握Windows操作系統(tǒng)的核心機(jī)制 通過上面兩步的學(xué)習(xí),初學(xué)者應(yīng)該已經(jīng)對(duì)Windows有一定的了解了,初學(xué)者通過一種較為輕松的方式學(xué)習(xí)Windows?,F(xiàn)在是時(shí)候?qū)indows進(jìn)行一些深入的了解了。之前我們都是站在程序員的角度對(duì)Windows進(jìn)行審視,角度可能有所單一?,F(xiàn)在則是需要站在一名系統(tǒng)設(shè)計(jì)師的角度對(duì)Windows操作系統(tǒng)進(jìn)行研究。 推薦讀物:《深入解析Windows操作系統(tǒng)》------這本書是將帶你全面的了解WIndows操作系統(tǒng)的各個(gè)方面 《Win32多線程程序設(shè)計(jì)》-----站在并發(fā)的角度更為深入的了解Windows機(jī)制。 讀者在有了1,2的基礎(chǔ)后學(xué)習(xí)3,相信不會(huì)有太大的難度。
4>掌握.net 作為一名Windows程序員,.net是你不得不去學(xué)習(xí)的一門技術(shù)。無論是學(xué)習(xí)還是工作你一定會(huì)遇到它。在有了以上基礎(chǔ)的情況下,學(xué)習(xí).net是一件十分輕松的事。.net平臺(tái)下有眾多語言可以選擇,不過這里推薦大家首選C#,理由就不用多說了??纯疵總€(gè)月的編程語言排行榜就一目了然了。
推薦讀物:《C#入門經(jīng)典》-------Wrox公司的紅寶書,講的很全面。 《C#高級(jí)編程》--------同樣是Wrox公司的書,講的更加深入。 《C# via CLR》--------講述.net的核心機(jī)制。 《WPF高級(jí)編程》------新一代圖形界面技術(shù),你應(yīng)該了解。
5>掌握Win32 asm 人都是希望自己能越來越牛,而不是永遠(yuǎn)停留在一個(gè)初級(jí)程序員的位置。如果你想真正掌握Windows真正成為一名計(jì)算機(jī)大牛的話,匯編是你必須要掌握的。 匯編是你進(jìn)行Windows下的軟件調(diào)試,逆向工程,商業(yè)破解,內(nèi)核研究,設(shè)備驅(qū)動(dòng)開發(fā)的基礎(chǔ)。是否精通匯編語言是普通程序員和大牛之間的一道分水嶺。
推薦讀物:《王爽匯編語言》-------初學(xué)匯編的入門書籍 《Inter匯編語言程序設(shè)計(jì)》------開始進(jìn)入保護(hù)模式下的匯編學(xué)習(xí) 《琢石成器--Windows環(huán)境下32位匯編語言程序設(shè)計(jì)》-------開始學(xué)習(xí)Windows下的匯編語言 《Orange‘S一個(gè)操作系統(tǒng)的實(shí)現(xiàn)》--------讓你了解匯編語言究竟有多牛
6>掌握Windows內(nèi)核編程 總有一部分人想要刨根問底,將Windows操作系統(tǒng)徹徹底底的搞明白。那么,就開始Windows內(nèi)核編程吧。掌握Windows內(nèi)核編程,可以說在Windows平臺(tái)上你將可以為所欲為了。不過,Windows內(nèi)核編程無疑是對(duì)程序員的一大考驗(yàn)。就算是有豐富Win32開發(fā)經(jīng)驗(yàn)的程序員在面對(duì)復(fù)雜的Windows內(nèi)核時(shí)也會(huì)顯得束手無策。這時(shí),匯編是你唯一可以借助的工具,自己調(diào)試,自己Crack,你所面臨的問題往往是Google,baidu都無法解決的。
推薦書籍:《Windows驅(qū)動(dòng)開發(fā)技術(shù)詳解》-----內(nèi)核驅(qū)動(dòng)的入門好書 《寒江獨(dú)釣Windows內(nèi)核安全編程》----- -一本向初學(xué)者展現(xiàn)內(nèi)核編程魅力的書 《Windows內(nèi)核原理與實(shí)現(xiàn)》----- 潘愛民大師的書,采用WRK源碼讓你真正走進(jìn)windows內(nèi)核 《Windows內(nèi)核情景分析》------- 經(jīng)典中的經(jīng)典,毛德操大師的書,你必須反復(fù)研讀,這本書會(huì)給你帶來本質(zhì)上的提高 |
|