我記得我在網(wǎng)上是這么說的:先學win32的SDK,也就是API, 再學MFC,這么一來呢,就先有個基礎(chǔ),MFC是API的封裝,如果API用的熟了,MFC上手就輕松的多了。我覺得呢,現(xiàn)在不少WINDOWS編程入門的好書很多,多買一些,多看看,多想想。不要心浮氣躁。我的經(jīng)驗就是一邊看書,一邊寫程序,看看是不是書上說的那樣??磿疵靼琢瞬恍?,自己做對了這個過程體會就不一樣了,做的多了,就慢慢會有“悟”的感覺。就入了門了。
一般從剛開始學WINDOWS編程(前提是C/C++至少要懂得C的一般常用概念)到基本熟悉,一年時間也差不多,如果在公司里,可能會快一些,主要取決于自己,如果每天都很多時間看書就要快許多。
這是昨天一個網(wǎng)友提出的問題,我這樣說的。你說推薦的書籍呢,那倒真是有不少好書非常值得看看,學習c++的有《c++編程思想》;學習api就是win32程序員參考手冊,一般叫sdk;學mfc呢,那就更多了,書店里的不少書都可以拿來看看,看的多了,自己也就知道什么樣的書最適合自己,不同時期欣賞的口味都不同的。比如說剛開始,就特別想找vc如何使用的書,剛接觸win32編程就想如果能有手把手那樣的教就好了,這些書都有的。我的習慣就是,多看書,然后才有鑒別,知道什么樣的書算是經(jīng)典,什么樣的書盡管沒多大用,但是對特定的人,特定的時期,特別有用。
經(jīng)驗之談二:
買更多的書,看更多的書?!?/font>
其中《Visual c++ 技術(shù)內(nèi)幕》和《深入淺出MFC》不可不買,中國人學不好VC的原因很簡單:英語非常差,不會看英文版的MSDN/CD,大學里的教育全是垃圾,設(shè)備又差,許多學VC的家伙不懂MASM,連WINDOWS Message cycle system 都不了解,學什么學???不過不要緊!據(jù)我所知,全球使用C++的人不過30萬,且多數(shù)是用BCB(用控件來寫容易啊!!!???)要知道,根據(jù)MS的資料,它出的書最High class 的一類只不過賣出20萬左右,(ps:I forgot bookname!!!)要想學好VC,先學好英文,再去Codeguru.com之類的網(wǎng)站D/L source code !不要買國人自己編寫的書(翻譯的除外),最好是MS出的書,既然是用MS的工具,這是當然的,還要定期買MSDN/CD,MS的人開發(fā)人員每人一套!!!!要談的太多了,一句話:
學好VC=英文好+基本功好+勤奮+聰明.少一不成的啊!!!!
經(jīng)驗之談三:
我覺得初學者先不要看MFC,API,Windows編程之類的東西,最重要的是先弄懂什么是面向?qū)ο?,什么是類,要是弄不懂類那學起來就真的累了!
1.先找一些傻瓜書,一步一步教你,CLASSWIZED,單擊,雙擊,右鍵...,...加入函數(shù)代碼....編譯,運行...(真正的傻瓜化!)
2,分析代碼,頭文件,消息宏等,找來書慢慢研究吧.哦,這函數(shù)有這些參量.....哇,老兄,WINMAIN()是做什么的???????指針,類,繼承,重載,折構(gòu)......
3.書書....《VISUAL C++ 技術(shù)內(nèi)幕第五版》,95元,《深入C++類庫編程...》,SAME圖書,什么,105元... 清華,希望,機械,電子,什么出版社......
4.郵箱--->WYY,小輝程序員之路,VC++王朝更換通知....,郵件列表???
5,Building.... 75435465734個錯誤,584764576857684警告??????? 哪位兄弟快發(fā)郵件給我啊,我受不了了! 媽呀........
經(jīng)驗之談四:
說起來我學VC也有些年頭了,想當年玩了3年游戲卻在大四為了畢業(yè)設(shè)計開始接觸Windows編程。沒辦法,天生的手短心長,導師原來要我用DOS環(huán)境的。偏偏一開始有抱的是MFC,有一點C++基礎(chǔ)的我看得是兩眼發(fā)黑。當然,設(shè)計是泡湯了,還好導師放我一馬?! ?/font>
工作以后才切身感受到,學Windows編程是要從API,從SDK玩起的。這還是我當年去一家臺灣游戲公司面試的慘痛教訓。我那個時候因為默不出一個完整的WinMain()和WindowProc(...) Windows SDK程序架構(gòu)慘遭淘汰(其實現(xiàn)在大多的Windows游戲還是用SDK的)。
在我看來,寫Windows程序的人對API不了解是不可想象的。我現(xiàn)在還沒有用VC編出一個我自己認為象樣的東西來,但我還是堅持用我的業(yè)余時間去和她增進感情,也許,這是一個技術(shù)人的老毛病吧。刨根問底,對Windows也不放過?! ?/font>
還有,就我覺得,語言這個東西其實就象老媽廚房里的各種菜刀,各有千秋的。人天生的對東西會產(chǎn)生偏好,但拿水果刀切菜和拿大菜刀削水果是一樣吃力的。我以前也認為天下有了VC就已足夠,可現(xiàn)在兩樣。
經(jīng)驗之談五:
有人說過,存在的就是合理的......
各位友人,我覺得學VC,熟悉C++的面向?qū)ο笈cWINDOWS編程技術(shù)是必要的.另外多看看別人的源代碼,弄清程式所來龍去脈,弄清程式的運行機制格外重要。至于你不太熟悉API,我看這并不重要,因為這么多API,試問誰能記這么多,不知道的查MSDN.初學者切莫心浮氣燥,循序漸進,相信他日你也是VC"高手".
不過,想精通VC還沒有這么簡單,我以什么VC,VB,BCB... 只不過編碼工具,大家不必拘于此.VC確實是一把好劍,像獨孤九劍也是一把劍,但沒有一點內(nèi)功,這把好劍不是那么好用的。
我覺得學任何語言都無所謂,關(guān)鍵是要掌握程序設(shè)計的核心——算法和數(shù)據(jù)結(jié)構(gòu)。各種語言和開發(fā)工具就好比各門各派的武功招式,而算法和數(shù)據(jù)結(jié)構(gòu)則好比內(nèi)功心法和武學原理,內(nèi)功高強了,任何招式到了手上都能化腐朽為神奇,掌握了武學原理,則能無招勝有招。所以,建議大家多花點時間學習基本功,一味地追求各種開發(fā)工具的開發(fā)技巧是沒有意義的。因為各種開發(fā)工具會不斷地更新,比如今天你在學C++,明天微軟搞了個C#,你又得跟著學C#。但是如果基本功扎實,掌握了程序設(shè)計的核心思想,不論什么語言都可以很快上手,無論何種開發(fā)工具學起來都事倍功半。我并不是否認學習各種語言和開發(fā)工具的必要性,只是要提醒各位初學者,學會C++語言或?qū)W會用VC編程并不等于學會了編程!編程的關(guān)鍵還在于數(shù)學模型的建立,數(shù)據(jù)結(jié)構(gòu)的選擇和算法的設(shè)計!
內(nèi)功=算法+數(shù)據(jù)結(jié)構(gòu)+編譯原理+操作系統(tǒng)原理+軟件工程+英文
你到 http://www.csdn.net 看看,可以找到《深入淺出MFC》2e電子版下載!有一本書很好,《WIN32程序員參考大全》既可了解WIN C SDK,又可以了解WINDOWS,一舉兩得。就是有好幾本,可以到VC知識庫網(wǎng)站的電子圖書欄目下載?!?/font>
我認為需要三本書:
1、<> 美 Jeffrey Richter.清華大學出版 99元
2、<> 美 Charles Petzold 北京大學出版 160元
3、<> 美 Jeff Prosise 是英文版的 北京大學出版 198元還有更好的選擇嗎?我不相信!
經(jīng)驗之談六:
我學vc也半年了,c和c++的功底不錯,對vc感覺還可以。我認為學vc也有些技巧,可以事半功倍。
vc的書要跳著看,先把api,windows運行的概念看懂,再看mfc,其實只要你c++學的好,mfc幾乎沒多少可看的,就是一些功能的封裝。vc其實只是工具,精華都在windows程序的流程上?! ?/font>
掌握好概念后,就是狂背各種api函數(shù)和mfc封裝的成員函數(shù)。
最后就是研究mfc代碼和其它原代碼。
我學vc已有些時間了,但總有的地方不清楚,到網(wǎng)上去問“高手”,老被罵的狗血碰頭,到頭來,還是一頭霧水,后來買到一本好書,The MFC Answer Book, Solutions for Effective Visual C++ Applications ,Author: Eugene Kain ,Published by Addision-Wesley ?! ?/font>
個人認為學習VC的前提是C++,特別是虛函數(shù)、派生、和指針,余皆不足慮也。
vc 的瓶頸就在于各種api和mfc封裝的函數(shù)調(diào)用。例如你知道ddx在update()運行時默認調(diào)用dodatachange(),等等一些函數(shù)刁用。vc純粹是小菜?! ?/font>
vc本身就是傻瓜工具,微軟開發(fā)vc原意就是要縮短程序員培訓時間??蓢鴥?nèi)有人居然要用幾年時間來學,真是太可怕了,太可悲了。學會了只能在windows平臺上開發(fā),那么你哪有時間去學其他平臺的程序開發(fā)?! ?/font>
vc只是工具,關(guān)件在學windows操作系統(tǒng),windows 通了,vc最多半年。
勸大家一句,不要在看什么“深入淺出”之內(nèi)的書了,去找一本專門講vc庫函數(shù)的書看,這才是精通之道。
注:以上經(jīng)驗只適用于具有很強c/c++遍程能力者。
經(jīng)驗之談七:
我覺得學vc要先從c,c++學起,然后是api和mfc(英語很重要,不過不用怕,用金山詞霸邊查邊學,等你vc入門后,你的英語閱讀能力也會上一個臺階);另外我的經(jīng)驗是學的時候不要鉆牛角尖,學語言關(guān)鍵是學語法和概念(繼承,重載,多態(tài)性...),其次才是某某函數(shù)怎么用之類的東西。(學windows編程一定要掌握消息機制)
要想學懂VC必須:
1、找?guī)妆竞脮骸秝indow程序設(shè)計》只看前幾章,看懂windows的消息機制,Api的結(jié)構(gòu);《mfc深入淺出》全面學習,深刻理解mfc的結(jié)構(gòu)
2、編一個較大型的項目,不停的使用VC,邊用邊理解看過的東西;
3、經(jīng)常看優(yōu)秀的源程序?!?/font>
經(jīng)驗之談八:
我本來無資格發(fā)言的,因為我也是一個多月前才決定學VC的。我總結(jié)一下以上n位的發(fā)言(隨便練練指法):
1.在學vc之前最好能有點其他語言的基礎(chǔ).(沒有也沒多大關(guān)系)
2.學c++之前不必學c.(當然會c會快點)
3.c++的一些概念很重要(如:對象,類,構(gòu)造、析構(gòu)函數(shù),繼承,模板等),最好弄透(怎么弄透,誰告訴我?)好書推薦:《thinking in c++》(《c++編程思想》)39.00元,適合對c++較熟悉的人.(有沒有適合白癡級的好書,讓我弄透以上重要概念,麻煩介紹一下)
4.API---->MFC.好書推薦:
(1)《深入淺出MFC》(《Dissecting MFC》screen.width-300)80.00元,701頁.(不過是繁體版的,有些術(shù)語和大陸不同).購買:www.huachu.com.cn. www., 人民時空.(第一家最便宜)
(2)《inside visual c++》(《visual c++技術(shù)內(nèi)幕》)96.00元,900多頁.最好買第四版的(清華出版,潘愛民翻譯),一些網(wǎng)站上說的好聽其實都是些原代碼(害我下了100多兆的原代碼,這些人建網(wǎng)站干嗎,吃飽了撐的,這里copy一些,那里copy一些,不看一下就上傳,有什么意思) .購買同上.
(3)《windows 程序設(shè)計》(《windows programming》)第五版,以前的版本叫《windows95 程序設(shè)計》(我沒找到電子書(www.好像有)和購買網(wǎng)站)160.00元,1346頁電子書下載:至今也沒找到(只有第五版,English的), .購買同上.
以上的書有人看懂了,說好, 有人沒看懂,煩惱,fang說:什么樣的書盡管沒多大用,但是對特定的人,特定的時期,特別有用.我說:盡信書不如無書
5.邊學邊練,多看MSDN,英語不好的人,會費勁一些(我算是完了,真的很傻,以前馬老師對我不錯,想起來真對不起他(對不起的是你自己)),學習VC,MSDN既重要也不重要,關(guān)鍵是先后問題。建議你先看侯俊杰的《深入淺出MFC》,相信看過這本書后,你就知道該怎么學VC了?!?/font>