小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MFC入門(mén)必讀

 orion360doc 2011-02-25

以下是很多VC愛(ài)好者的學(xué)習(xí)經(jīng)歷,希望對(duì)大家有所幫助:

我記得我在網(wǎng)上是這么說(shuō)的:先學(xué)win32的SDK,也就是API,
再學(xué)MFC,這么一來(lái)呢,就先有個(gè)基礎(chǔ),MFC是API的封裝,
如果API用的熟了,MFC上手就輕松的多了。
我覺(jué)得呢,現(xiàn)在不少WINDOWS編程入門(mén)的好書(shū)很多,多買(mǎi)一些,多看看,多想想。不要心浮氣躁。我的經(jīng)驗(yàn)就是一邊看書(shū),一邊寫(xiě)程序,看看是不是書(shū)上說(shuō)的那樣。看書(shū)看明白了不行,自己做對(duì)了這個(gè)過(guò)程體會(huì)就不一樣了,做的多了,就慢慢會(huì)有“悟”的感覺(jué)。就入了門(mén)了。一般從剛開(kāi)始學(xué)WINDOWS編程(前提是C/C++至少要懂得C的一般常用概念)到基本熟悉,一年時(shí)間也差不多,如果在公司里,可能會(huì)快一些,主要取決于自己,如果每天都很多時(shí)間看書(shū)就要快許多。
這是昨天一個(gè)網(wǎng)友提出和你同樣的問(wèn)題。我這樣說(shuō)的。你說(shuō)推薦的書(shū)籍呢,那倒真是有不少好書(shū)非常值得看看,學(xué)習(xí)c++的有《c++編程思想》,學(xué)習(xí)api就是win32程序員參考手冊(cè),一般叫sdk。學(xué)mfc呢,那就更多了,書(shū)店里的不少書(shū)都可以拿來(lái)看看,看的多了,自己也就知道什么樣的書(shū)最適合自己,不同時(shí)期欣賞的口味都不同的。比如說(shuō)剛開(kāi)始,就特別想找vc如何使用的書(shū),剛接觸win32編程就想如果能有手把手那樣的教就好了。這些書(shū)都有的。我的習(xí)慣就是,多看書(shū),然后才有鑒別,知道什么樣的書(shū)算是經(jīng)典,什么樣的書(shū)盡管沒(méi)多大用,但是對(duì)特定的人,特定的時(shí)期,特別有用。
買(mǎi)更多的書(shū),看更多的書(shū)
其中《Visual c++ 技術(shù)內(nèi)幕》和《深入淺出MFC》不可不買(mǎi)
中國(guó)人學(xué)不好VC的原因很簡(jiǎn)單:英語(yǔ)非常差,不會(huì)看英文版的MSDN/CD,大學(xué)里的教育全是垃圾,設(shè)備又差,許多學(xué)VC的家伙不懂MASM,連WINDOWS Message cycle system 都不了解,學(xué)什么學(xué)???不過(guò)不要緊!據(jù)我所知,全球使用C++的人不過(guò)30萬(wàn),且多數(shù)是用BCB(用控件來(lái)寫(xiě)容易啊!!!???)要知道,根據(jù)MS的資料,它出的書(shū)最High class 的一類(lèi)只不過(guò)賣(mài)出20萬(wàn)左右,(ps:I forgot bookname!!!)要想學(xué)好VC,先學(xué)好英文,再去
Codeguru.com之類(lèi)的網(wǎng)站D/L source code !不要買(mǎi)國(guó)人自己編寫(xiě)的書(shū)(翻譯的除外)最好是MS出的書(shū),既然是用MS的工具,這是當(dāng)然的,還要定期買(mǎi)MSDN/CD,MS的人開(kāi)發(fā)人員每人一套!!!!要談的太多了,一句話(huà):
學(xué)好VC=英文好+基本功好+勤奮+聰明.少一不成的啊!!!!
我覺(jué)得初學(xué)者先不要看MFC,API,Windows編程之類(lèi)的東西,最重要的是先弄懂什么是面向?qū)ο螅裁词穷?lèi),要是弄不懂類(lèi)拿學(xué)起來(lái)就真的累了!
1.先找一些傻瓜書(shū),一步一步教你,CLASSWIZED,單擊,雙擊,右鍵...,...加入函數(shù)代碼....編譯,運(yùn)行...(真正的傻瓜!)
2,分析代碼,頭文件,消息宏等,找來(lái)書(shū)慢慢研究吧.哦,這函數(shù)有這些參量.....哇,老兄,WINMAIN()是做什么的???????指針,類(lèi),繼承,重栽,折構(gòu)......
3.書(shū)書(shū)....<<VISUAL C++ 技術(shù)內(nèi)幕 第五版>>,95元,<<深入C++類(lèi)庫(kù)編程...>>,SAME圖書(shū),什么,105元...
清華,希望,機(jī)械,電子,什么出版社......
4.郵箱--->WYY,小輝程序員之路,VC++王朝更換通知....,郵件列表???
5,Building....
75435465734個(gè)錯(cuò)誤,584764576857684警告???????
哪位兄弟快發(fā)郵件給我啊,我受不了了!
媽呀........
說(shuō)起來(lái)我學(xué)VC也有些年頭了,想當(dāng)年玩了3年游戲卻在大四為了畢業(yè)設(shè)計(jì)開(kāi)始接觸Windows編程。沒(méi)辦法,天生的手短心長(zhǎng),導(dǎo)師原來(lái)要我用DOS環(huán)境的。偏偏一開(kāi)始有抱的是MFC,有一點(diǎn)C++基礎(chǔ)的我看得是兩眼發(fā)黑。當(dāng)然,設(shè)計(jì)是泡湯了,還好導(dǎo)師放我一馬。
工作以后才切身感受到,學(xué)Windows編程是要從API,從SDK玩起的。這還是我當(dāng)年去一家臺(tái)灣游戲公司面試的慘痛教訓(xùn)。我那個(gè)時(shí)候因?yàn)槟怀鲆粋€(gè)完整的WinMain()和WindowProc(...) Windows SDK程序架構(gòu)慘遭淘汰(其實(shí)現(xiàn)在大多的Windows游戲還是用SDK的)。
在我看來(lái),寫(xiě)Windows程序的人對(duì)API不了解是不可想象的。我現(xiàn)在還沒(méi)有用VC編出一個(gè)我自己認(rèn)為象樣的東西來(lái),但我還是堅(jiān)持用我的業(yè)余時(shí)間去和她增進(jìn)感情,也許,這是一個(gè)技術(shù)人的老毛病吧。刨根問(wèn)底,對(duì)Windows也不放過(guò)。
還有,就我覺(jué)得,語(yǔ)言這個(gè)東西其實(shí)就象老媽廚房里的各種菜刀,各有千秋的。人天生的對(duì)東西會(huì)產(chǎn)生偏好,但拿水果刀切菜和拿大菜刀削水果是一樣吃力的。我以前也認(rèn)為天下有了VC就已足夠,可現(xiàn)在兩樣。
有人說(shuō)過(guò),存在的就是合理的......
各位友人,我覺(jué)得學(xué)VC,熟悉C++的面向?qū)ο笈cWINDOWS編程技術(shù)是必要的.另外多看看別人的源代碼,弄清程式所來(lái)龍去脈也,弄清程式的運(yùn)行機(jī)制格外重要.至于你不太熟悉API,我看這并不重要,因?yàn)檫@么多API,試問(wèn)誰(shuí)能記這么多,不知道的查MSDN.初學(xué)者切莫心浮氣燥,循序漸進(jìn),相信他日
你也是VC"高手".
不過(guò),想精通VC還沒(méi)有這么簡(jiǎn)單,我以什么VC,VB,BCB...
只不過(guò)編碼工具,大家不必拘于此.VC確實(shí)是一把好劍,像獨(dú)
孤九劍也是一把劍,但沒(méi)有一點(diǎn)內(nèi)功,這把好劍不是那么好用的.
我覺(jué)得學(xué)任何語(yǔ)言都無(wú)所謂,關(guān)鍵是要掌握程序設(shè)計(jì)的核心——算法和數(shù)據(jù)結(jié)構(gòu)。各種語(yǔ)言和開(kāi)發(fā)工具就好比各門(mén)各派的武功招式,而算法和數(shù)據(jù)結(jié)構(gòu)則好比內(nèi)功心法和武學(xué)原理,內(nèi)功高強(qiáng)了,任何招式到了手上都能化腐朽為神奇,掌握了武學(xué)原理,則能無(wú)招勝有招。所以,建議大家多花點(diǎn)時(shí)間學(xué)習(xí)基本功,一味地追求各種開(kāi)發(fā)工具的開(kāi)發(fā)技巧是沒(méi)有意義的。因?yàn)楦鞣N開(kāi)發(fā)工具會(huì)不斷地更新,比如今天你在學(xué)C++,明天微軟搞了個(gè)C#,你又得跟著學(xué)C#。但是如果基本功扎實(shí),掌握了程序設(shè)計(jì)的核心思想,不論什么語(yǔ)言都可以很快上手,無(wú)論何種開(kāi)發(fā)工具學(xué)起來(lái)都事倍功半。我并不是否認(rèn)學(xué)習(xí)各種語(yǔ)言和開(kāi)發(fā)工具的必要性,只是要提醒各位初學(xué)者,學(xué)會(huì)C++語(yǔ)言或?qū)W會(huì)用VC編程并不等于學(xué)會(huì)了編程!編程的關(guān)鍵還在于數(shù)學(xué)模型的建立,數(shù)據(jù)結(jié)構(gòu)的選擇和算法的設(shè)計(jì)!
內(nèi)功=算法+數(shù)據(jù)結(jié)構(gòu)+編譯原理+*作系統(tǒng)原理+軟件工程+英文
你到 http://www.csdn.net /;;看看,可以找到《深入淺出MFC》2e電子版下載!
有一本書(shū)很好《WIN32程序員參考大全》即可了解WIN C SDK,又可以了解WINDOWS,一舉兩得。就是有好幾本??梢缘絍C知識(shí)庫(kù)網(wǎng)站的電子圖書(shū)欄目下載。
我認(rèn)為需要三本書(shū),
1 <<windows 高級(jí)編程指南>> 美 Jeffrey Richter.清華大學(xué)出版 99元
2 <<windows 程序設(shè)計(jì)>> 美 Charles Petzold 北京大學(xué)出版 160元
3 <<MFC與Windows編程>> 美 Jeff Prosise 是英文版的 北京大學(xué)出版 198元
還有更好的選擇嗎?我不相信!
我學(xué)vc也半年了,c和c++的功底不錯(cuò),對(duì)vc感覺(jué)還可
以。我認(rèn)為學(xué)vc也有些技巧,可以事半功倍。
vc的書(shū)要跳著看,先把a(bǔ)pi,windows運(yùn)行的概念看懂,
再看mfc其實(shí)只要你c++學(xué)的好,mfc幾乎沒(méi)多少可看的,
就是一些功能的封裝。vc其試只是工具,精華都在windows
程序的流程上。
掌握好概念后,就是狂背各種api函數(shù)和mfc封裝的
成員函數(shù)。
最后就是研究mfc代碼和其它原代碼
我學(xué)vc已有些時(shí)間了。但總有的地方不清楚。到網(wǎng)上去問(wèn)“高手”,老被罵的狗血碰頭,到頭來(lái),還是一頭霧水。后來(lái)買(mǎi)到一本好書(shū),
The MFC Answer Book, Solutions for Effective Visual C++ Applications
Author: Eugene Kain
Published by Addision-Wesley
個(gè)人認(rèn)為學(xué)習(xí)VC的前提是C++,特別是虛函數(shù)、派生、和指針,余皆不足慮也。
vc 的瓶頸就在于各種api和mfc封裝的函數(shù)調(diào)用。例如你知到
ddx在update()運(yùn)行時(shí)默認(rèn)凋用dodatachange(),等等一些函數(shù)刁用。vc順脆是小菜。
vc本身就是傻瓜工具,微軟開(kāi)發(fā)vc原意就是要縮短
程序員培循時(shí)間??蓢?guó)內(nèi)有人據(jù)燃要用幾年時(shí)間來(lái)學(xué),真是太可怕了,太可悲了。學(xué)會(huì)了只能在windows平臺(tái)上開(kāi)發(fā),那末你那有時(shí)間去學(xué)其他平臺(tái)的程序開(kāi)發(fā)。
vc只是工具,關(guān)件在學(xué)windows*作系同,windows
通了,vc最多半年。
勸大家一句,不要在看身末“深入淺出”之內(nèi)的
書(shū)了,去找一本專(zhuān)門(mén)講vc庫(kù)函數(shù)的書(shū)看,這才是精通之道。
?。阂陨辖?jīng)驗(yàn)只試用于,具有很強(qiáng)c/c++遍程能力者。
我覺(jué)得學(xué)vc要先從c,c++學(xué)起,然后是api和mfc(英語(yǔ)很重要,不過(guò)不用怕,用金山詞霸邊查邊學(xué),等你vc入門(mén)后,你的英語(yǔ)閱讀能力也會(huì)上一個(gè)臺(tái)階);
另外我要的經(jīng)驗(yàn)是學(xué)的時(shí)候不要鉆牛角尖,學(xué)語(yǔ)言關(guān)鍵是
學(xué)語(yǔ)法和概念(繼承,重載,多態(tài)性...),其次才是某某函數(shù)怎么用之類(lèi)的東西.
(學(xué)windows編程一定要掌握消息機(jī)制)
要想學(xué)懂VC必須:
1、找?guī)妆竞脮?shū):《window程序設(shè)計(jì)》只看前幾章,看懂
windows的消息機(jī)制,Api的結(jié)構(gòu);
《mfc深入淺出》全面學(xué)習(xí),深刻理解mfc的結(jié)構(gòu)
2、編一個(gè)較大型的項(xiàng)目,不停的使用VC,邊用邊理解看
過(guò)的東西;
3、經(jīng)??磧?yōu)秀的源程序。
我本來(lái)無(wú)資格發(fā)言的,因?yàn)槲乙彩且粋€(gè)多月前才決定學(xué)VC的。我總結(jié)一下以上n位的發(fā)言(隨便練練指法):
1.在學(xué)vc之前最好能有點(diǎn)其他語(yǔ)言的基礎(chǔ).(沒(méi)有也沒(méi)多大關(guān)系)
2.學(xué)c++之前不必學(xué)c.(當(dāng)然會(huì)c會(huì)快點(diǎn))
3.c++的一些概念很重要(如:對(duì)象,類(lèi),構(gòu)造、析構(gòu)函數(shù),繼承,模板等),最好弄透(怎么弄透,誰(shuí)告訴我?)好書(shū)推薦:<<thinking in c++>>(<<c++編程思想>>screen.width-300)this.width=screen.width-300'>39.00元,適合對(duì)c++較熟悉的人.(有沒(méi)有適合白癡級(jí)的好書(shū),讓我弄透以上重要概念,麻煩介紹一下)
4.API---->MFC.好書(shū)推薦:
(1)<<深入淺出MFC>>(<<Dissecting MFC>>screen.width-300)this.width=screen.width-300'>80.00元,701頁(yè).電子書(shū)下載:www.csdn.net(不過(guò)是繁體版的,有些術(shù)語(yǔ)和大陸不同).購(gòu)買(mǎi):www.huachu.com.cn. www., 人民時(shí)空.(第一家最便宜)
(2)<<inside visual c++>>(<<visual c++技術(shù)內(nèi)幕>>screen.width-300)this.width=screen.width-300'>96.00元,900多頁(yè).最好買(mǎi)第四版的(清華出版,潘愛(ài)民翻譯),電子書(shū)下載:至今也沒(méi)找到(只有第五版,English的),一些網(wǎng)站上說(shuō)的好聽(tīng)其實(shí)都是些原代碼(害我下了100多兆的原代碼,這些人建網(wǎng)站干嗎,吃飽了撐地,這里copy一些,那里copy一些不看一下就上傳,有什么意思) .購(gòu)買(mǎi)同上.
(3)<<windows 程序設(shè)計(jì)>>(<<windows programming>>screen.width-300)this.width=screen.width-300'>(第五版,以前的版本叫<<windows95 程序設(shè)計(jì)>>我沒(méi)找到電子書(shū)(www.好像有)和購(gòu)買(mǎi)網(wǎng)站)160.00元,1346頁(yè) 電子書(shū)下載:至今也沒(méi)找到(只有第五版,English的), .購(gòu)買(mǎi)同上.
以上的書(shū)有人看懂了,說(shuō)好
有人沒(méi)看懂,煩惱
fang說(shuō):什么樣的書(shū)盡管沒(méi)多大用,但是對(duì)特定的人,特定的時(shí)期,特別有用
我說(shuō):盡信書(shū)不如無(wú)書(shū)
5.邊學(xué)邊練,多看MSDN,英語(yǔ)不好的人,會(huì)費(fèi)盡一些(我算是完了,真的很傻,以前馬老師對(duì)我不錯(cuò),想起來(lái)真對(duì)不起他(對(duì)不起的是你自己))
學(xué)習(xí)VC,MSDN既重要也不重要,關(guān)鍵是先后問(wèn)題。建議你先看 侯俊杰的《深入淺出MFC》,買(mǎi)不到的話(huà)可以到我的主頁(yè)的電子書(shū)下載理去下載。要是你是成都的話(huà)就比較幸運(yùn)些,成都有這本書(shū)賣(mài)喲?。?!相信看過(guò)這本書(shū)后,你就知道該怎么學(xué)VC了。MSDN在電腦城去買(mǎi),4元一張。一共3張(新版,老版2張)。
好了,先把上面做了!快行動(dòng)喲?。?!
我是一個(gè)大一的學(xué)生,讀計(jì)算機(jī)的。我對(duì)編程很感興趣,我以為可以在學(xué)校學(xué)到好東西,于是就慢慢來(lái)學(xué),現(xiàn)在差不多有一年了,誰(shuí)知連個(gè)屁也沒(méi)學(xué)到。直到我來(lái)到這,被大家的熱情感動(dòng)了。我決定自學(xué)。后來(lái)我聽(tīng)說(shuō)有些大學(xué)生能通過(guò)高程。于是我就買(mǎi)了[離散數(shù)學(xué)],[C程序設(shè)計(jì)],[計(jì)算機(jī)英語(yǔ)]學(xué)起來(lái).聽(tīng)說(shuō)還要學(xué)[數(shù)據(jù)結(jié)構(gòu)],[*作系統(tǒng)],[編譯原理].請(qǐng)問(wèn)要學(xué)完這些要多少時(shí)間?先聲明我是一個(gè)菜鳥(niǎo).還有應(yīng)該先學(xué)哪些?我正在為此奮斗,希望大家指點(diǎn)小弟一下.
學(xué)VC我認(rèn)為有益下要點(diǎn); 1.要對(duì)win95*作系統(tǒng)的特點(diǎn)了解。如:多任務(wù),消息映射等。 2.面向?qū)ο蟮脑O(shè)計(jì)特點(diǎn),即類(lèi),需要學(xué)好C++。 3.對(duì)MFC也要有一定的認(rèn)識(shí)。 4.真對(duì)一實(shí)際問(wèn)題深入編程,不投機(jī)取巧,老實(shí)下功。
過(guò)去我在VC上下過(guò)很大的功夫,光MFC,WIN32API手冊(cè)就看過(guò)很多遍。我認(rèn)為學(xué)好VC的關(guān)鍵在于對(duì)Windows 系統(tǒng)的了解,如果連某個(gè)動(dòng)作對(duì)應(yīng)的消息都不知道,又如何處理它了。
VC 進(jìn)階:1. C 語(yǔ)言;2. C++ ,OOP;3. Windows 運(yùn)作機(jī)理,SDK編程;4. MFC類(lèi)庫(kù),應(yīng)用程序框架編程;5. ActiveX,ATL,COM……每步驟通常需要6個(gè)月,最快也得3個(gè)月,諸位同意否?
學(xué) VC 或 windows 編程分三 STEP:1. 只 SDK 提供的 Function 作開(kāi)發(fā),不要Object, 你會(huì)知 How to handle Message. 2. MFC 編程, 用 CEdit 等開(kāi)發(fā).3. 再用 VC如果你有一個(gè)別人的好程序, 不妨自己跟著他的思路,從小到大自己完成一遍。好書(shū):<<MFC深入淺出>> 學(xué)習(xí)VC++有相當(dāng)?shù)膬?nèi)容要學(xué),而最后的深度則看個(gè)人的悟性與勤奮了。1)掌握最新標(biāo)準(zhǔn)的C++。 如果曾經(jīng)在大學(xué)里自以為學(xué)過(guò)C/C++,還對(duì)dynamic_cast/static_cast/template/try/catch/throw/stl/...感到陌生,那你該Refresh一下新的ANSI C++標(biāo)準(zhǔn)了。 ----此與VC++無(wú)甚關(guān)聯(lián),g++/bcb均有所支持。(2個(gè)月)2) 學(xué)習(xí)SDK編程;:-O (6個(gè)月) 痛苦是暫時(shí)的,必要的,堅(jiān)持就是勝利! 建議用Lccwin32/Masm32/Tasm編寫(xiě)小而精的工具軟件; "Windows Programming Guide." "Advanced Windows programming "3) 研究MFC源代碼。(6個(gè)月) 不要被一大堆的宏所蒙蔽,just track and dig into it!! 在知道MFC如何擴(kuò)展,包裝SDK之后,自可功力漸進(jìn),不被其MFC系統(tǒng)框架所困繞。 "MFC Internals"4) 研究OLE/COM技術(shù)。 COM/ActiveX技術(shù)是MS的核心技術(shù),只有徹底洞察其理論精髓才可以體會(huì)現(xiàn)在的*作系統(tǒng)的技術(shù)趨勢(shì),以不變應(yīng)萬(wàn)變。 "Inside Ole 2"***幾點(diǎn)建議***:1) Delphi/BCB/VB可以很快構(gòu)筑界面,但對(duì)于想真正學(xué)習(xí)、理解系統(tǒng)不是一個(gè)好的平臺(tái),但如果有時(shí)間讀一讀VCL的源碼,看看Borland是如何封裝系統(tǒng)的,也可借鑒不少。2) 學(xué)習(xí)ASM對(duì)理解C++有很大益處。Soft-ICE也是和VC++結(jié)合在一起的好工具;3) 語(yǔ)言本身是皮毛,算法是筋骨;無(wú)論高級(jí)語(yǔ)言如何發(fā)展,在理解*作系統(tǒng)的基礎(chǔ)上不斷自我創(chuàng)新的能力是源源不斷的;如果精髓一旦了然于胸,選擇何種開(kāi)發(fā)工具都可以駕御,一見(jiàn)如故了。


第二篇: 導(dǎo)航:第一篇 第二篇 第三篇 第四篇 第五篇 第六篇
VC入門(mén)的一條路
首先聲明,我可不是什么高手,也就是剛脫貧。因?yàn)檫\(yùn)氣很好,買(mǎi)到了幾本好書(shū),在學(xué)習(xí)過(guò)程中幾乎沒(méi)走什么彎路,沒(méi)費(fèi)什么勁就入門(mén)了,現(xiàn)在一般的小程序能搞定了??吹侥切┮?yàn)椴恢獜暮蜗率侄嗫鄴暝呐笥?,希望我的文章能給他們一些幫助。

學(xué)編程急不得,上來(lái)就學(xué)VC肯定碰一頭灰,說(shuō)VC難就難在這點(diǎn)上了。如果硬上,意志堅(jiān)強(qiáng)的話(huà)也許能挺過(guò)來(lái),但也是會(huì)缺乏后勁,不得不回過(guò)頭來(lái)補(bǔ)習(xí)基礎(chǔ)知識(shí)。意志不堅(jiān)強(qiáng)的話(huà),很有可能就此放棄了,并留下一個(gè)VC難得不得了的印象。其實(shí),只要踏踏實(shí)實(shí)一步一步來(lái),VC也就是很簡(jiǎn)單點(diǎn)事。在這里我說(shuō)一下,如果你還只是一個(gè)初中生,那么你就應(yīng)當(dāng)仔細(xì)考慮一下了。首先,限于你的知識(shí)和思維能力,學(xué)學(xué)C語(yǔ)言還應(yīng)該沒(méi)問(wèn)題,但要學(xué)VC是要下相當(dāng)大的功夫的。而且,你現(xiàn)在學(xué)到的東西將來(lái)一定會(huì)過(guò)時(shí),所以不如把精力放在算法的研究上,畢竟這些東西永遠(yuǎn)都不會(huì)過(guò)時(shí)。

我覺(jué)著如果走對(duì)路子,入門(mén)VC,一個(gè)暑假應(yīng)該夠用了。

雖說(shuō)學(xué)VC并不是傳說(shuō)的那么難,可不下些苦功夫是學(xué)不成的。在學(xué)VC前,你必須確定,你是因?yàn)闊釔?ài)編程才學(xué)VC的,而不是出于炫耀或其他。否則,恐怕你堅(jiān)持不到勝利的那一天。

對(duì)于首次接觸編程的同學(xué),我建議最好先學(xué)一下Quick BASIC(DOS里就有帶,就是那個(gè)QBASIC.EXE),不用多學(xué),知道什么是整型什么是浮點(diǎn),以及DO...LOOP FOR...NEXT 等最基本的知識(shí),能算個(gè)階乘,求個(gè)積分就行了,關(guān)鍵要明白計(jì)算機(jī)是怎么執(zhí)行命令的,對(duì)編程有個(gè)感性認(rèn)識(shí)。如果你對(duì)自己有自信,也可以直接學(xué)C++,應(yīng)該也不會(huì)多費(fèi)太多事。不過(guò)我覺(jué)著因?yàn)橛泻芏噘Y料是FOR VB的,并且網(wǎng)頁(yè)編程常用VB Script,以后你也很有可能要用到VB,所以了解一些BASIC對(duì)以后也是有幫助的。而且如果只是要算個(gè)小題用QB比VC、VB之類(lèi)方便多了。(找個(gè)人教一兩天應(yīng)該就能搞定了吧)

之后我建議找本初高中信息學(xué)奧賽的書(shū)(有些奇怪吧)。這些書(shū)里講解了基本的算法,寫(xiě)的卻比較通俗,沒(méi)什么高深的數(shù)學(xué)知識(shí),容易理解。這些東西在數(shù)據(jù)結(jié)構(gòu)課程中有系統(tǒng)嚴(yán)密的講解,所以也可等以后再學(xué)。但我覺(jué)著現(xiàn)階段寫(xiě)一些小程序,實(shí)現(xiàn)些常用算法對(duì)自己的思維是很好的鍛煉,對(duì)以后的學(xué)習(xí)大有好處。我想,能排排序,求個(gè)八皇后,算個(gè)漢諾塔,再知道深、廣度優(yōu)先搜索就可以了。

如果你已經(jīng)有一些編程的基礎(chǔ)知識(shí)了,自然就可以跳過(guò)以上兩步。

等你對(duì)編程有一定的認(rèn)識(shí)后,就應(yīng)該開(kāi)始進(jìn)軍C++了.注意,是C++而不是VC,這兩者根本不是一碼事!別買(mǎi)VC入門(mén),你肯定看不懂!C++是一門(mén)語(yǔ)言,而VC教程則是講解如何使用MFC類(lèi)庫(kù),學(xué)習(xí)VC應(yīng)建立在充分了解C++的基礎(chǔ)上。

我覺(jué)著比起許多花花綠綠的大全、寶典,不如買(mǎi)本大學(xué)的C++教程(注意:別買(mǎi)等級(jí)考試的教程,那是應(yīng)試用的),那些教程大都經(jīng)過(guò)反復(fù)錘煉,比較系統(tǒng),很有含金量,有不會(huì)太貴。這里我暴力推薦由清華大學(xué)出版社出版的一本《C++程序設(shè)計(jì)教程》,封面是紅色的,封底是黃色的,看起來(lái)很樸素,主編是錢(qián)能。這本書(shū)簡(jiǎn)直是好的沒(méi)法說(shuō),還便宜(39.5元)。這本書(shū)不但告訴你語(yǔ)法,還告訴你為什么要這樣規(guī)定語(yǔ)法,看完之后,你會(huì)覺(jué)著那許許多多的規(guī)定是理所當(dāng)然的,根本不用費(fèi)心記,不但不枯燥,反而會(huì)使有一種美感。書(shū)中還有許多實(shí)際編程時(shí)應(yīng)注意的問(wèn)題,很有價(jià)值。這本書(shū)還配有《實(shí)驗(yàn)指導(dǎo)》,和《習(xí)題集》,不過(guò)對(duì)于有一定編程經(jīng)驗(yàn)的人應(yīng)該是用處不大,所以我沒(méi)買(mǎi)。除了這本書(shū),我建議再買(mǎi)本關(guān)于傳統(tǒng)C語(yǔ)言的書(shū),要著重以下幾個(gè)方面:編譯預(yù)處理、typedef的使用,位運(yùn)算,標(biāo)準(zhǔn)庫(kù)函數(shù)的使用(最好有一個(gè)比較詳細(xì)的列表,用的時(shí)候好查)。

C++的標(biāo)準(zhǔn)類(lèi)模板是個(gè)不錯(cuò)的東東,不過(guò)對(duì)于學(xué)習(xí)MFC卻沒(méi)有幫助,原因是MFC太落后了(^_^),可以先放一放,要不要學(xué)等搞定MFC時(shí)再作決定。雖然我沒(méi)怎么學(xué)過(guò),不過(guò)覺(jué)著它挺不錯(cuò),而且代表了一種發(fā)展方向。雖然學(xué)著費(fèi)勁(那東西幾乎沒(méi)一點(diǎn)C++的樣子,簡(jiǎn)直是在學(xué)新語(yǔ)言),但掌握它可使編程輕松不少。

學(xué)完了C++,該學(xué)VC了吧?別急,先找本W(wǎng)IN32編程的書(shū),這次沒(méi)什么講究,看著差不多的,便宜一些的就行了,如果有對(duì)于VC集成環(huán)境的介紹就最好了。WIN32編程是指用WINDOWS API編程,MFC是將眾多的API函數(shù)進(jìn)行了封裝的類(lèi)庫(kù),用起來(lái)方便了不少,但如果沒(méi)有一些API編程基礎(chǔ),對(duì)相關(guān)概念不了解,學(xué)起MFC來(lái)可能會(huì)很費(fèi)解。相信我,將來(lái)你不會(huì)覺(jué)著學(xué)API編程是浪費(fèi)時(shí)間的。API函數(shù)有兩千多,要都學(xué)會(huì)累死。其實(shí)你只要知道如何創(chuàng)建窗口、對(duì)話(huà)框、控件、消息循環(huán),了解了句柄的含義就差不多了,最好再了解一點(diǎn)GDI編程。這個(gè)階段的關(guān)鍵是要理解WIN32程序是如何運(yùn)作的,把握各種窗口間的關(guān)系。因?yàn)槟阋院髴?yīng)該很少直接用WIN32 SDK編寫(xiě)程序,所以關(guān)鍵是理解整體結(jié)構(gòu),記住幾個(gè)函數(shù)并沒(méi)有什么意義。函數(shù)用的時(shí)候可以現(xiàn)查。手頭應(yīng)有一份比較全面的資料。中文的API函數(shù)大全好像只有For VB的,不過(guò)看起來(lái)應(yīng)該是沒(méi)有任何障礙。英文的資料MSDN中就有,相當(dāng)全面,也比中文的詳細(xì)一些。我建議用中文資料快速查找,有問(wèn)題再看英文。(我忘了我的html版中文API大全是從哪下載的了,不過(guò)書(shū)店有售,白皮的,很厚一本,很貴就是了。誰(shuí)想要可以與我聯(lián)系iamsor@sohu.com

對(duì)于想學(xué)游戲編程的朋友注意:從現(xiàn)在起,你不必去學(xué)什么MFC了,相信我,那東西除了讓你頭疼一點(diǎn)用處都沒(méi)有。游戲都使用Win32 SDK編出來(lái)的?,F(xiàn)在,你要學(xué)的是DirectX。我推薦老王翻譯的DirectDraw文檔(www.),前面有一些老王自己寫(xiě)的基礎(chǔ)知識(shí),很適合入門(mén), 在此特別感謝老王的辛勤勞動(dòng)。我還買(mǎi)了一本《DirectX 7 速成教程》,機(jī)械工業(yè)出版社出版,封面封底都是紅色。除了翻譯慘了點(diǎn)還算不錯(cuò),介紹的挺全面,還有一些游戲編程基礎(chǔ)知識(shí)。如果你想圖省事,可以考慮用云風(fēng)編寫(xiě)的風(fēng)魂游戲庫(kù),很方便的(www. 對(duì)云風(fēng)的辛勤勞動(dòng)表示感謝).不過(guò)我仍然建議至少了解一下DirectX.這里說(shuō)一下,很多朋友抱怨找不到有關(guān)DirectX的書(shū)籍,我告訴你,別去編程書(shū)籍里找,去多媒體制作書(shū)籍那找,還要把眼睛瞪得大大的、圓圓的。Director.. Director.. DirectX!!!知道了吧,書(shū)店工作的人眼神都不大好,我也是有一天沒(méi)事瞎轉(zhuǎn)才發(fā)現(xiàn)的,嚇了我一大跳。發(fā)現(xiàn)這個(gè)秘密后我發(fā)現(xiàn)其實(shí)有不少關(guān)于DirectX的書(shū),只是一般人找不到罷了。學(xué)會(huì)了DirectX,就可以開(kāi)始奮斗了,剩下的問(wèn)題就只有積累經(jīng)驗(yàn)了。

對(duì)于志向是應(yīng)用軟件的朋友,打好了基礎(chǔ),現(xiàn)在進(jìn)軍VC的障礙都已掃清了。不過(guò)還是應(yīng)做好充分的思想準(zhǔn)備,事情不會(huì)那么順利的。剛開(kāi)始,你就要面對(duì)一個(gè)瓶頸,大量的緊密關(guān)聯(lián)的知識(shí),使你必須一下理解一個(gè)整體,而很難一點(diǎn)點(diǎn)來(lái)??梢哉f(shuō),學(xué)VC最難的就是剛開(kāi)始。情況有些類(lèi)似于你第一次創(chuàng)建窗口時(shí)面對(duì)的那長(zhǎng)長(zhǎng)的程序,只不過(guò)更糟糕就是了。很多人就是在此被一大團(tuán)知識(shí)噎著,放棄了學(xué)習(xí)。事實(shí)上,這幾乎是Windows編程的一大特點(diǎn),在WIN32編程時(shí)你就應(yīng)當(dāng)有所體會(huì),而DirectX和COM都有類(lèi)似問(wèn)題。記住,一定要堅(jiān)信:突破了這個(gè)瓶頸之后便是一片海闊天空,而有著扎實(shí)基礎(chǔ)的你是一定能闖過(guò)去的。
我的建議是,不要等徹底弄明白一句才看下一句,而是知道好像怎么回事就向下看,實(shí)在看不懂也硬著頭皮往下看,等能比貓畫(huà)虎的作出個(gè)菜單、對(duì)話(huà)框時(shí)便回過(guò)頭再看一遍,幾遍之后應(yīng)該就可以大概明白MFC程序的運(yùn)作了。注意:這里有個(gè)關(guān)鍵,一定要用心體會(huì)面向?qū)ο缶幊痰木?,努力將眼前的程序與你之前所學(xué)的知識(shí)聯(lián)系起來(lái)。通過(guò)比較成員函數(shù)和對(duì)應(yīng)的API函數(shù)間的區(qū)別,嘗試去理解MFC是怎樣封裝相關(guān)的API的。例如,相當(dāng)多的類(lèi)將句柄封裝了起來(lái),在傳遞參數(shù)時(shí)加以省略,這就是一個(gè)很重要的特性。MFC中有許多的宏,看起來(lái)很奇怪,但你不必理會(huì)其實(shí)現(xiàn)方法,只要知道如何使用便可,這點(diǎn)也很重要。還有,千萬(wàn)不要過(guò)于依賴(lài)ClassWizard,對(duì)于其生成的代碼要自己進(jìn)行分析,偷懶就不能真正理解MFC。

這里我介紹一種學(xué)法,不過(guò)學(xué)法這種東西因人而異,所以還要根據(jù)個(gè)人的情況決定。開(kāi)始時(shí),教程讓怎么辦就怎么辦,比貓畫(huà)虎的作出個(gè)菜單、對(duì)話(huà)框,然后試著添加控件。等能不看教程便做到這些時(shí),開(kāi)始逐字逐句的試著理解MFC程序的組織。若看不懂就跳過(guò)看下面的。就這樣一遍一遍來(lái)。如果覺(jué)著頭大就先歇上兩天,等清醒了再接著來(lái).最好在這期間多找些介紹MFC框架的文章。注意:先不要碰有關(guān)文檔/視結(jié)構(gòu)的東西,否則你會(huì)更頭大。然后便可試著寫(xiě)個(gè)定時(shí)器、名片夾之類(lèi)的小東西,熟悉一下各種控件的使用。

突破了開(kāi)始的瓶頸之后再學(xué)下去便會(huì)越學(xué)越容易,因?yàn)槟憧梢砸稽c(diǎn)一點(diǎn)的積累知識(shí),而不用擔(dān)心被噎著了。再過(guò)不久,你就不得不開(kāi)始使用API函數(shù)完成一些功能,如在系統(tǒng)托盤(pán)加圖標(biāo),自畫(huà)列表框等。這時(shí),你也會(huì)體會(huì)到學(xué)習(xí)WIN32編程的好處了,沒(méi)學(xué)過(guò)的人很可能就此卡殼。

關(guān)于VC的教程遍地都是,但魚(yú)龍混雜,市場(chǎng)烏煙瘴氣,騙錢(qián)的書(shū)真不少。有些書(shū)很厚,內(nèi)容當(dāng)然也很全,對(duì)老鳥(niǎo)很不錯(cuò),但對(duì)于初學(xué)者似乎有些浪費(fèi)錢(qián),因?yàn)槔锩娼^大部分的東西MSDN中都有,并且初學(xué)者用不著。老外寫(xiě)的書(shū)一般內(nèi)容不錯(cuò),但翻譯水平是個(gè)問(wèn)題。如果翻譯糟糕可夠你受的,加上價(jià)格不菲,我也不建議初學(xué)者買(mǎi)。還有些什么傻瓜書(shū)、圖解之類(lèi),好像是面向初學(xué)者,時(shí)則為騙錢(qián),你看完后除了那幾個(gè)例子什么也不會(huì)作。如果你看到有一本書(shū)花了大量的篇幅圖文并茂,生動(dòng)形象的介紹如何畫(huà)圖,輸出文字,別買(mǎi)!騙錢(qián)的!(:-< 我就被坑去42塊現(xiàn)大洋)那些花哨的東西對(duì)初學(xué)者除了轉(zhuǎn)移注意力沒(méi)任何好處。如果你真的對(duì)GDI繪圖很感興趣,就去找些專(zhuān)門(mén)書(shū)籍,比那些書(shū)好多了。最好買(mǎi)名字類(lèi)似于VC應(yīng)用,VC編程之類(lèi)比較正式的,圖不要太多的,字不要太大的,最好是有較多的控件介紹的。當(dāng)然,文字流暢也是很重要的。書(shū)不要買(mǎi)太多,最多兩本,因?yàn)檫@些書(shū)內(nèi)容都差不多,買(mǎi)多了的話(huà)東看西看反倒沒(méi)好處。在這里,我建議初學(xué)者先別急著掏錢(qián),而是去VC王朝( http://vcdynasty.yeah.net/)下載本MFC教程。雖說(shuō)是網(wǎng)上教程,卻當(dāng)相當(dāng)有水準(zhǔn)。不但內(nèi)容比較全面,還一句廢話(huà)也沒(méi)有(這里感謝作者的辛勤勞動(dòng))。只是可惜對(duì)GDI沒(méi)有一點(diǎn)介紹,還須其他書(shū)籍作補(bǔ)充。等搞定這本教程時(shí),應(yīng)該就已經(jīng)入了門(mén),可以有針對(duì)性的選購(gòu)書(shū)籍,不用擔(dān)心上當(dāng)受騙了。還有,VC知識(shí)庫(kù)(www.)的網(wǎng)上雜志也很不錯(cuò),對(duì)剛?cè)腴T(mén)的人很有幫助,建議下載。入了些門(mén)后,各個(gè)網(wǎng)站多轉(zhuǎn)轉(zhuǎn),看見(jiàn)好文章就往下拉,對(duì)提高水平很有好處。

一套MSDN光盤(pán)在這時(shí)是必不可少的,什么都找中文資料是不可能的,即使能找到也會(huì)很費(fèi)時(shí)間和金錢(qián),只能看硬著頭皮英文。不過(guò)以我的經(jīng)驗(yàn)看,只要有高中水平的英語(yǔ),加上金山詞霸一路滑過(guò)去,看那種專(zhuān)業(yè)文章還是很容易的。還有,初學(xué)者一上來(lái)可能根本不知道上哪找需要的東西,我在這里把常用的地方列一下:

WIN32 API: 平臺(tái)SDK->Reference->Win32 Functions in Alpha Order
MFC類(lèi)庫(kù)資料: Visual C++ Documentation->Reference->Microsoft Fo...
C/C++語(yǔ)言及標(biāo)準(zhǔn)庫(kù)資料: Visual C++ Documentation->Reference->C/C++...
標(biāo)準(zhǔn)控件: 標(biāo)準(zhǔn)控件都被MFC封裝了,可以參考對(duì)應(yīng)的類(lèi),如Edit控件對(duì)應(yīng)CEdit類(lèi).
VC中帶的ActiveX控件: Visual Basic文檔->參考->控件參考(唯一的中文資料,卻是最糟糕的。不但是For VB,與C++有很大區(qū)別,還翻譯得亂七八糟,幾乎沒(méi)法用.如有高手知道哪有英文資料還請(qǐng)告知,不勝感激)

目前市面上的MSDN光盤(pán)已經(jīng)有一段歷史了,有些東西可能有些過(guò)時(shí)。要最新資料的話(huà),可以到微軟的網(wǎng)站(當(dāng)然是全英文的)。不過(guò)對(duì)于初學(xué)者似乎沒(méi)有必要。

搞定VC后,要學(xué)什么都隨你便了,再學(xué)C++Builder,VB,Dephi,java什么的都是一點(diǎn)難度都沒(méi)有了,感覺(jué)就象是把關(guān)鍵字換了換?;蛘呖梢匀タ锌蠧OM,據(jù)說(shuō)那是塊硬骨頭(不過(guò)好像也只是入門(mén)難,因?yàn)橛辛酥暗慕?jīng)驗(yàn),雖然我沒(méi)碰過(guò),但花點(diǎn)時(shí)間應(yīng)該是搞得定的。另外DirectX編程經(jīng)驗(yàn)在此應(yīng)該是有些幫助的)。

最后,我建議有時(shí)間的話(huà)多研究一下各種算法。數(shù)據(jù)結(jié)構(gòu)是一定要看的。不一定要記住(話(huà)說(shuō)回來(lái),不經(jīng)常用的話(huà)也記不?。?,但至少要知道有那么回事,萬(wàn)一碰到問(wèn)題了要知道往那邊靠。其實(shí),常見(jiàn)的鏈表等結(jié)構(gòu)以及排序等算法在C++標(biāo)準(zhǔn)類(lèi)模板中已經(jīng)實(shí)現(xiàn)了,不用你去費(fèi)勁,但有些了解的總是有好處的。至于離散數(shù)學(xué)、線(xiàn)性代數(shù)什么的,對(duì)于復(fù)雜些的算法是必需的,其中離散數(shù)學(xué)是數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)。不過(guò),我倒覺(jué)著只要不是太復(fù)雜的問(wèn)題只用經(jīng)驗(yàn)也能解決(就象奧賽書(shū)中那樣,只是實(shí)現(xiàn)而沒(méi)有證明),而且那些東西不用就會(huì)忘。萬(wàn)一碰見(jiàn)個(gè)難題解決不了,找個(gè)高手幫忙也不錯(cuò),省時(shí)省力^_^。

下面是我想到的一些雜七雜八的問(wèn)題,沒(méi)什么條理,湊或看吧:

英語(yǔ)水平不用很高,但至少要有高中水準(zhǔn),否則有你受的。

看書(shū)一遍看不懂沒(méi)關(guān)系,事實(shí)上,要一遍就能弄懂你就很有天分了。只要多看幾遍,綜合分析,應(yīng)該是沒(méi)有什么問(wèn)題的。

現(xiàn)在的世道,不是書(shū)到用時(shí)方恨少,而是書(shū)到用時(shí)方能學(xué)。不要試圖滿(mǎn)把抓,而要用到什么學(xué)什么。這樣,學(xué)的又快,記的又牢。

一個(gè)錯(cuò)誤認(rèn)識(shí)-學(xué)編程靠的是記憶:這是很要命的思想,會(huì)讓你累死而無(wú)所得。事實(shí)上,你幾乎不用特意記任何東西。對(duì)于各種函數(shù)、語(yǔ)句,只要知道有那么個(gè)東西,用的時(shí)候知道上哪找就行了,用多了自然就記住了。學(xué)編程關(guān)鍵在理解編程思想。

一個(gè)小技巧:活用編譯器可以幫你很多忙。在VC中,當(dāng)你輸入成員符號(hào).或->時(shí),程序會(huì)自動(dòng)列出此類(lèi)的成員,你只要選一個(gè)就行了。這樣便省了很多記憶負(fù)擔(dān)。例如,你想獲得一個(gè)CString類(lèi)對(duì)象的長(zhǎng)度,對(duì)應(yīng)方法肯定是Get什么,但是GetLetterNum還是GetStrLength卻不知道,你可以輸入xxx.Get,這樣,你便可從列表中找到一個(gè)GetTextLength(),不是這個(gè)還能是什么,單擊它的話(huà)還可能出現(xiàn)說(shuō)明。還可避免打錯(cuò)字。如果想調(diào)用本類(lèi)的成員函數(shù),就輸入this->,就可以查看成員列表了。對(duì)于全局函數(shù),則是輸入::即可。這樣的話(huà)看起來(lái)還清楚。還有,如果沒(méi)有出現(xiàn)那個(gè)列表,八成是你弄錯(cuò)了什么東西,例如變量沒(méi)定義,或打錯(cuò)了字,但也可能是VC的BUG,很少就是了。對(duì)于初學(xué)者,這可是很好用的功能。

初學(xué)編程應(yīng)遵循的一條原則:比貓畫(huà)虎、不求甚解。關(guān)鍵在于很多東西你就甚解不了,例如MFC中稀奇古怪的宏。而且,甚解了也沒(méi)太大的好處,暫時(shí)還是不要管它,會(huì)用就行了,什么時(shí)候有了閑工夫再來(lái)慢慢琢磨。多留心別人的程序是如何實(shí)現(xiàn)的,并照著去做。有時(shí),一些小問(wèn)題也體現(xiàn)著高深的思想。比如,一個(gè)變量要定義在什么地方,如何組織類(lèi)的結(jié)構(gòu)。如果不太明白,就先找著別人的樣子去作,時(shí)間一長(zhǎng)就會(huì)自然而然的明白,這就像下棋一樣,老頭怎么下,你也跟著怎么下,畢竟他出錯(cuò)的可能比你小。

還有,我覺(jué)著初學(xué)者不應(yīng)把過(guò)多的精力放在象Cool的工具條,透明的、氣泡狀的窗口之類(lèi)的工作上。再搞這些之前,你最好問(wèn)問(wèn)自己,自己的程序配得上這些漂亮的界面嗎?尤其是,千萬(wàn)不要在剛開(kāi)始動(dòng)手時(shí)就先打扮界面,以免界面也弄好了,熱情也沒(méi)了。畢竟,看在眼里的成果給人的刺激比枯燥的算法強(qiáng)得多。如果你想搞的話(huà),也要等程序主體定型后再搞。

初學(xué)時(shí)還應(yīng)多留心關(guān)于程序結(jié)構(gòu)組織的文章,這些東西是很重要的。要從一開(kāi)始便養(yǎng)成良好的風(fēng)格。否則有一天當(dāng)你決定編一個(gè)大點(diǎn)的程序時(shí),你就會(huì)發(fā)現(xiàn)干到一半就干不下去了。

編程不是技術(shù)活,而是體力活:學(xué)的時(shí)候滿(mǎn)腦子全是技術(shù),可用的時(shí)候就真成了體力活了。真正做起東西來(lái),最重要的是要有毅力堅(jiān)持到完。意志不堅(jiān)強(qiáng)就難免半途而廢。

關(guān)于初學(xué)者是該學(xué)VC還是該學(xué)VB的問(wèn)題:我覺(jué)著,學(xué)VC會(huì)難一些沒(méi)錯(cuò),但掌握學(xué)習(xí)方法的話(huà)也沒(méi)想象的那么難,而且學(xué)VC才能深刻領(lǐng)會(huì)面向?qū)ο缶幊痰木?。它使你的思想提升了一個(gè)高度,對(duì)以后的發(fā)展是大有好處的。再說(shuō),如果這點(diǎn)困難都克服不了,以后也很難有什么作為。所以,即使你打定主意用VB,也還是花些時(shí)間看看VC,至少知道它的大概結(jié)構(gòu)。從長(zhǎng)遠(yuǎn)看,這是很有好處的。

關(guān)于學(xué)C++ Builder還是Visual C++的問(wèn)題:也許VC真的不太好,但總不會(huì)太糟。可關(guān)于VC的資料不知是關(guān)于C++ Builder的多少倍。尤其對(duì)于初學(xué)者,這時(shí)很要命的!何況兩者相差其實(shí)并不太多,學(xué)會(huì)了一種,再學(xué)另一種也不會(huì)太費(fèi)事。

呵,沒(méi)想到說(shuō)了這么多。我已經(jīng)聲明了,其實(shí)我也就是剛?cè)腴T(mén),以上一切都是我自己的感受,難免有錯(cuò)誤,還請(qǐng)高手指正。另外,這是我第一次寫(xiě)文章,加上我語(yǔ)文很糟糕,其實(shí)就是想到哪寫(xiě)到哪,各位就湊或一下吧。

能有人喜歡這篇文章太好了,我還擔(dān)心被丟臭雞蛋呢。其實(shí)這篇文章中所有的東西都是我個(gè)人的學(xué)習(xí)體會(huì),所以也難免有些錯(cuò)誤。
既然有人捧場(chǎng)我就厚著臉皮再多說(shuō)兩句:我覺(jué)著學(xué)編程最重要的個(gè)字就是“悟”,VC入門(mén)的標(biāo)準(zhǔn)不在于你能做出什么,而在于你是否悟出其中精神。從表面上看就是你是否能做到比較順利得學(xué)下去。至于要怎么“悟”,我就不好說(shuō)了,好像與人有很大關(guān)系。反正我覺(jué)著我就比較善于“悟”(^_^臉皮厚吧)。反正多聯(lián)系多想就是了??梢源_定的一點(diǎn)是,打好基本功很重要。雖說(shuō)我學(xué)VC時(shí)間并不長(zhǎng)就入了門(mén),C++更是不到一個(gè)星期就基本搞定,但實(shí)際上我從小學(xué)就開(kāi)始學(xué)編程了。到中考后我對(duì)C和匯編以及操作系統(tǒng)也有了些模模糊糊的印象。象指針等概念在學(xué)習(xí)調(diào)用中斷進(jìn)行鼠標(biāo)控制時(shí)也有了大概了解。所以中考后沒(méi)花多長(zhǎng)時(shí)間便搞定了C++。這之后高一高二一直在學(xué)習(xí)游戲編程(事實(shí)上因?yàn)樨澩妫蠖鄶?shù)時(shí)間在玩游戲而不是寫(xiě)游戲^_^)。在這過(guò)程中,我碰到的第一個(gè)難題是第一個(gè)WIN32程序。不過(guò)通過(guò)分析每一個(gè)變量在何處出現(xiàn),再加上猜測(cè)其可能的運(yùn)行方式,忽略一些細(xì)節(jié),幾天后也就能搞一個(gè)對(duì)話(huà)框什么的了,大致了解了WIN32程序的運(yùn)作。

到了高三,我開(kāi)始啃MFC(因?yàn)樯眢w不好只好休學(xué),只要病好了明年還得參加高考,所以八月份之后恐怕就沒(méi)時(shí)間來(lái)這里泡了),不過(guò)在這之前我曾次學(xué)過(guò)一次MFC,不過(guò)因?yàn)閷?duì)C++還不太理解而一頭霧水。雖說(shuō)如此,那些模糊的認(rèn)識(shí)還是有很大幫助的,當(dāng)我花了幾天作出一個(gè)基于對(duì)話(huà)框的鬧鐘時(shí),我便發(fā)現(xiàn)我對(duì)MFC有些感覺(jué)了。(之所以選擇對(duì)話(huà)框就是為了繞開(kāi)文檔/視結(jié)構(gòu),比較簡(jiǎn)單)這之后把教程又看了一遍,感覺(jué)就清楚多了。然后下載了VC知識(shí)庫(kù)的雜志瀏覽了幾遍(尤其是FAQ部分,有很多小但很重要的知識(shí)點(diǎn)),把許多零零散散的知識(shí)回想了一下,就感覺(jué)基本上入了門(mén)了。

以我的經(jīng)歷來(lái)看,許多不起眼的小知識(shí)點(diǎn)積累起來(lái)可以很大的提高你的悟性。所以我建議雜七雜八的文章(即使是VB、Dephi之類(lèi))最好能多看一些,畢竟Windows編程有很多是相通的,多了解一些總是好事。


另外,有時(shí)有問(wèn)題了只要不太要緊不妨繞過(guò)去,不必急于問(wèn)別人,尤其是基礎(chǔ)問(wèn)題(像怎么畫(huà)圖之類(lèi)),多找找資料,在許多地方可能都有介紹。而且,時(shí)間常常能給你解答。往往一段時(shí)間后再一想就會(huì)一拍腦門(mén):原來(lái)就這么點(diǎn)事呀!。這樣對(duì)自己是一種鍛煉,也節(jié)省了別人的時(shí)間。

說(shuō)到學(xué)習(xí)VC的目的,我并不是太明確。其實(shí)以后我恐怕不會(huì)從事軟件業(yè),很有可能是自動(dòng)化控制甚至是去當(dāng)技師(主要是考慮到那時(shí)軟件業(yè)的競(jìng)爭(zhēng)可能很激烈),所以以后用到VC的可能并不大,只是自己喜歡,并且覺(jué)著學(xué)習(xí)過(guò)程就是很好的思維鍛煉,現(xiàn)在又沒(méi)別的事干(考試湊湊或或由大學(xué)上就行了),所以就學(xué)了。

又羅里羅嗦的說(shuō)了一堆,讓高手笑話(huà)了,希望對(duì)新手有所幫助。我就權(quán)當(dāng)是練語(yǔ)文了,我可不想明年高考語(yǔ)文不及格^_^。如果您看著好,就請(qǐng)幫忙轉(zhuǎn)貼一下,先謝了(不過(guò)希望能署上史列因這個(gè)名字)。


鄭重聲明
近年來(lái)我站數(shù)百篇“原創(chuàng)文章”被一些媒體肆意轉(zhuǎn)載,不但不標(biāo)明出自“中國(guó)電子技術(shù)信息網(wǎng)”,而且把相關(guān)字眼刪除!這是無(wú)視技術(shù)價(jià)值的盜&竊行為,是對(duì)技術(shù)人員辛勤勞動(dòng)的蔑視,我對(duì)此種行為表示強(qiáng)烈的譴責(zé)。
“本是同根生,相煎何太急”,考慮到我們做技術(shù)的都是同門(mén)兄弟,對(duì)以前的盜&竊行為不再追究,今后再有此類(lèi)事件,最低處理限度是“明示于天下”。在這里向轉(zhuǎn)載過(guò)又標(biāo)注了出處的兄弟媒體表示崇高的敬意!
兄弟網(wǎng)站如果引用本站“原創(chuàng)文章”,請(qǐng)首先經(jīng)本人許可,并標(biāo)注“www.cetinet.com”或“中國(guó)電子技術(shù)信息網(wǎng)”字樣。
歡迎個(gè)人下載使用!


第三篇: 導(dǎo)航:第一篇 第二篇 第三篇 第四篇 第五篇 第六篇
如何學(xué)習(xí)vc++(vc的用處)

1 vc的用處
我感覺(jué)下面一些領(lǐng)域比較適合于用vc: 操作系統(tǒng)編程,game,圖形設(shè)計(jì),corba編程,com編程,網(wǎng)絡(luò)編程。
我談?wù)勎业捏w會(huì)。我現(xiàn)在在深圳的一家公司從事IP電話(huà)網(wǎng)關(guān)的開(kāi)發(fā)。通過(guò)這個(gè)項(xiàng)目,我 才真正體會(huì)到VC有多么強(qiáng)大,上百個(gè)線(xiàn)程同時(shí)工作,數(shù)據(jù)庫(kù)并發(fā)訪(fǎng)問(wèn),而且全部軟件基 于COM構(gòu)造,這樣高性能的大型軟件,只有VC方顯出其英雄本色!不過(guò),在國(guó)內(nèi),有機(jī)會(huì) 接觸這樣的大型系統(tǒng)軟件的不多。而在做大型系統(tǒng)軟件時(shí),對(duì)VC程序員的要求就不僅僅 是熟悉VC、MFC本身了,這只是基本的要求,最的挑戰(zhàn)是你如何運(yùn)用VC實(shí)現(xiàn)一些高級(jí)的功能特性。
其實(shí),VC做數(shù)據(jù)庫(kù)也不是不合適,關(guān)鍵在于你要拋開(kāi)所謂的例子程序,直接從底層(SQL)做起。那么,你會(huì)有一種天高任鳥(niǎo)飛的感覺(jué):爽。數(shù)據(jù)庫(kù)與界面全部在你的控制之下 。
前一段時(shí)間,做一個(gè)很大的管理系統(tǒng)(每個(gè)綱要540多個(gè)表12000多個(gè)數(shù)據(jù)項(xiàng),綱要數(shù)不定),并且還要通過(guò)CORBA實(shí)現(xiàn)跨平臺(tái)、通過(guò)ODBC跨數(shù)據(jù)庫(kù)。如果通過(guò)什么PB、BCB、De lphi等等快速開(kāi)發(fā)工具(并且做MIS是所謂強(qiáng)項(xiàng))將會(huì)很難自由發(fā)揮的。我以為它比較適合一些需要底層控制的場(chǎng)合,特別是一些使用現(xiàn)有控件不太理想的情況下,VC的自由度就比較高。VC是把全能的瑞士軍刀,不過(guò)對(duì)于一些較簡(jiǎn)單的功能,比如開(kāi)酒瓶之類(lèi)的用個(gè)開(kāi)瓶器就更方便一些。
VC可以寫(xiě)WEB上的控件。
VC可以開(kāi)發(fā)優(yōu)秀的基于通信的程序。
VC可以開(kāi)發(fā)高效靈活的文件操作程序。
VC可以開(kāi)發(fā)靈活高效的數(shù)據(jù)庫(kù)操作程序。等等等等
VC是編CAD軟件的唯一選擇?。?!包括AUTOCAD,UG的二次開(kāi)發(fā)。
小到只是一個(gè)Windows的標(biāo)準(zhǔn)界面 那象這樣的程序用VC++確實(shí)大才小用了,因?yàn)橛斜萔C++ 開(kāi)發(fā)界面更快的編譯系統(tǒng),但如果這個(gè)界面極其復(fù)雜 復(fù)雜到要用很多的數(shù)學(xué)方法(例三維游戲的)那也要用到VC++才能搞定
就我使用VC++的這幾年經(jīng)驗(yàn)來(lái)看,VC++非常適合于系統(tǒng)程序設(shè)計(jì),正如C語(yǔ)言是Unix的標(biāo)
準(zhǔn)系統(tǒng)程序設(shè)計(jì)語(yǔ)言。
在多線(xiàn)程、網(wǎng)絡(luò)通信、分布應(yīng)用方面,VC++有不可比擬的優(yōu)勢(shì)。 當(dāng)然隨著系統(tǒng)程序開(kāi)發(fā)
的機(jī)會(huì)越來(lái)越少,VC++的應(yīng)用領(lǐng)域的確會(huì)逐漸縮小。
如果說(shuō)到Windows下的可視化開(kāi)發(fā)工具現(xiàn)在大家接觸得最多的就是VC,VB,DELPHI,BCB
,一些可視化開(kāi)發(fā)的JAVA。其實(shí)我覺(jué)得VC并不能完全算是一個(gè)可視化工具,這表現(xiàn)在VC
中編寫(xiě)代碼還是占了開(kāi)發(fā)工作的大部分時(shí)間。而其他的可視化工具中都在界面設(shè)計(jì)中耗
費(fèi)了大量的開(kāi)發(fā)時(shí)間。我一直使用VC的原因就是因?yàn)槲夷軌蛞恢睂⒆⒁饬性谲浖?br>能開(kāi)發(fā)上而不是界面設(shè)計(jì)上。我認(rèn)為這樣能夠在開(kāi)發(fā)的過(guò)程中更加自由和有更多的控制
權(quán)。而且這種情況下產(chǎn)生的代碼維護(hù)性更強(qiáng)。舉個(gè)簡(jiǎn)單的例子,在維護(hù)VB代碼時(shí)如果沒(méi)
有一份詳細(xì)的說(shuō)明和流程就會(huì)使維護(hù)變得不可能,我想其他的基于界面開(kāi)發(fā)的工具都會(huì)
或多或少的產(chǎn)生這樣的問(wèn)題,因?yàn)樵陂_(kāi)發(fā)過(guò)程中開(kāi)發(fā)工具將一個(gè)完整的流程分離成為多
個(gè)部分,在開(kāi)發(fā)完成后這些部分就很難統(tǒng)一起來(lái)。
選擇什么樣的工具的前提是你的開(kāi)發(fā)目標(biāo),如果你希望開(kāi)發(fā)一個(gè)很大的系統(tǒng)你就不應(yīng)該
選擇面向基于界面開(kāi)發(fā)的工具,但你可能會(huì)選擇VB來(lái)開(kāi)發(fā)前端的客戶(hù)軟件,而后臺(tái)使用
VC來(lái)實(shí)現(xiàn)。 對(duì)于一些并不是很復(fù)雜的軟件來(lái)講,界面和操作方式可能是非常重要的,所
以選擇VB,CBC都可以縮短開(kāi)發(fā)時(shí)間。這時(shí)候選擇VC就有些不智。 所以我認(rèn)為使用VC開(kāi)
發(fā)的朋友應(yīng)該將更多的注意力集中在實(shí)現(xiàn)軟件功能的流程上,多從整體角度看問(wèn)題。我
想這一點(diǎn)來(lái)說(shuō)其他的可視化開(kāi)發(fā)工具是很難達(dá)到的,因?yàn)閂B,CBC等開(kāi)發(fā)的程序在很大程
度上都是用各種控件“堆”出來(lái)的,這會(huì)在后期的維護(hù)升級(jí)過(guò)程中帶來(lái)很多的不便,例
如要替換掉一個(gè)控件就可能會(huì)對(duì)整個(gè)程序的結(jié)構(gòu)產(chǎn)生非常大的影響。 最后我想說(shuō)的是每
種開(kāi)發(fā)工具都有它的價(jià)值,也各有優(yōu)缺點(diǎn),更重要的是如何根據(jù)具體的任務(wù)選擇合適的
工具并利用這些工具來(lái)完成工作
首先要搞清楚VC能干什么.很多人只是聽(tīng)說(shuō)VC是最好的開(kāi)發(fā)語(yǔ)言,便去學(xué)習(xí),就象大家聽(tīng)
說(shuō)辟邪劍譜厲害,便都去搶著學(xué)一樣,都是很盲目的。其實(shí)語(yǔ)言并沒(méi)有好壞之分,我在
用C之前,一直覺(jué)的BASIC 是最好用的語(yǔ)言?,F(xiàn)在在WINDOWS平臺(tái)下編程,VB和DELPHI可
以滿(mǎn)足大多數(shù)的應(yīng)用,而且速度不會(huì)很慢。使用VC主要是用來(lái)開(kāi)發(fā)系統(tǒng)軟件和大型工具
軟件以及開(kāi)發(fā)游戲。
2 如何學(xué)好vc
2.1
先期條件:英語(yǔ)要好 看懂MSDN 要學(xué)好vc,先學(xué)好英語(yǔ),再去codeguru.com之類(lèi)的網(wǎng)站
d/l source code。學(xué)好vc=英文好+基本功好+勤奮+聰明。
1先學(xué)習(xí)C或C++,在windows的console環(huán)境下編寫(xiě)不太深入涉及API的程序;尤其封裝,
繼承,多態(tài)一定要精 不要讓vc的各種特性分散注意力。這一階段,可以把重心放到研究
算法上
2在基本上掌握了語(yǔ)法之后,開(kāi)始接觸簡(jiǎn)單的系統(tǒng)API,學(xué)習(xí) Windows的編程原理和機(jī)制
; 先了解Windows系統(tǒng)的消息機(jī)制(多任務(wù),消息映射等)。一開(kāi)始用基本的SDK形式來(lái)
開(kāi)發(fā)幾個(gè)程序作為入門(mén)(WinSDK編程就是直接調(diào)用Windows的API進(jìn)行編程)(SDK全稱(chēng)是S
oftware Developers Kit,意思是軟件開(kāi)發(fā)工具箱)(API全稱(chēng)是application program
interface,意思是應(yīng)用程序編程接口)。開(kāi)始進(jìn)行WinSDK編程用C語(yǔ)言最好,可以撇開(kāi)C
++的特性專(zhuān)心熟悉一下Win32編程的思路以及了解windows的消息運(yùn)行機(jī)制??梢跃帉?xiě)簡(jiǎn)
單的菜單程序,可以簡(jiǎn)單地在WM_PAINT下操作 GDI函數(shù)當(dāng)你可以熟練的使用C語(yǔ)言進(jìn)行W
INDOWS程序設(shè)計(jì)了,你可以嘗試面向?qū)ο蟮姆椒恕?br>3用MFC來(lái)開(kāi)發(fā)程序(MFC全稱(chēng)Microsoft Foundation Classes,是把WinAPI進(jìn)行封裝的類(lèi)
庫(kù),它是一個(gè)類(lèi)的集合,通過(guò)覆蓋WinAPI,為編程提供了一個(gè)面向?qū)ο蟮慕缑?。它使wi
ndows程序員能夠利用C++面象對(duì)象的特性進(jìn)行編程,類(lèi)似BCB的OWL,Delphi的VCL組件。
它把那些進(jìn)行SDK編程時(shí)最繁瑣的部分提供給程序員,使之專(zhuān)注于功能的實(shí)現(xiàn)。你不妨把
它想象成類(lèi)似TC提供的函數(shù)庫(kù)吧。)。開(kāi)始學(xué)習(xí)MFC,可以從Step tourist學(xué)起,看MFC
的 源代碼,理解幾個(gè)關(guān)鍵的宏的定義與實(shí)現(xiàn),特別是MESSAGE MAP。 在學(xué)習(xí)的過(guò)程中為
了給自己增加點(diǎn)挑戰(zhàn),盡量不要使用resource edit,試著自己編碼實(shí)現(xiàn)控件的創(chuàng)建,消
息的響應(yīng)。 再就是看自己的造化了,動(dòng)手做一些小工具,特別是自己平常需要的,對(duì)自
己的提高也應(yīng)該是很有幫助。 并選擇發(fā)展的方向. 如果你有一個(gè)別人的好程序, 不妨
自己跟著他的思路,從小到大自己完成一遍。
4到了一定程度,一定要學(xué)ATL,OLE/COM。需要實(shí)際項(xiàng)目的磨練研究OLE/COM技術(shù)。 COM
/ActiveX技術(shù)是MS的核心技術(shù),只有徹底洞察其理論精髓才可以體會(huì)現(xiàn)在的操作系統(tǒng)的
技術(shù)趨勢(shì),以不變應(yīng)萬(wàn)變。
從1998.3-1998.5,我基本上是每天攻讀八小時(shí)VC,包括看書(shū)和上機(jī)。那時(shí)正上大三,精
力充沛,受的起沒(méi)完沒(méi)了的失敗和痛苦,終于在五月某一天的一節(jié)“匯編語(yǔ)言”課上突
然想通了,立刻逃課去上機(jī)。就這樣我入門(mén)了。之后我也象大多數(shù)的人一樣學(xué)習(xí)它的所
謂GUI,doc/view結(jié)構(gòu),打印之類(lèi)。有一天醒來(lái)我突然想:我學(xué)這些干嘛嗎?朋友!驚醒呀
!人的精力是有限的,正所謂“術(shù)業(yè)有專(zhuān)攻”,VC說(shuō)到底,它也是一個(gè)工具,學(xué)會(huì)使用
這個(gè)工具并不是目的,而僅僅是開(kāi)始!于是我開(kāi)始尋找我的方向。綜合我的方向有:1.
網(wǎng)絡(luò)編程。主要是基于TCP/IP的Winsock編程,已完成一個(gè)FTP的客戶(hù)端編寫(xiě),正在寫(xiě)一個(gè)
FTP服務(wù)器。2.通訊編程,主要是串行通訊。3.三維動(dòng)畫(huà),主要是用OpenGL API,一般用
來(lái)寫(xiě)界面。我的畢業(yè)設(shè)計(jì)就是以2和3為基礎(chǔ)。我的一些意見(jiàn):不要對(duì)VC控件抱太大希望
,除了基本控件,使用其他控件會(huì)使你比用API還繁;盡量使用MFC而不是API;盡早定位
自己,尋找方向,不要什么都學(xué),人貴專(zhuān)攻;要了解消息機(jī)制,多線(xiàn)程和同步機(jī)制,更
有回叫(CallBack)機(jī)制等,這是VC程序員的基本知識(shí)
//WINDOWS 和 UNIX操作系統(tǒng)都是復(fù)雜的多任物系統(tǒng),提供了一大堆應(yīng)用編程接口(API
,通常是C語(yǔ)言的函數(shù))程序員使用c語(yǔ)言調(diào)用這些API便可以開(kāi)發(fā)該系統(tǒng)下//的應(yīng)用程序
了。這與dos時(shí)代的編程接口是不一樣的,那時(shí)侯的函數(shù)庫(kù)是由開(kāi)發(fā)環(huán)境提供的(如Tur
bo C) ,不具有很好的封裝性和設(shè)備無(wú)關(guān)性。每當(dāng)新版的//WINDOWS操作系統(tǒng)發(fā)行,便會(huì)
提供一個(gè)相應(yīng)的plantform SDK(軟件開(kāi)發(fā)包),開(kāi)發(fā)者可以用SDK 編譯C程序。
//vc的核心就是MFC,MFC是個(gè)C++類(lèi)庫(kù),就象結(jié)構(gòu)化程序設(shè)計(jì)時(shí)代的C語(yǔ)言函數(shù)庫(kù)一樣 ,
給程序員提供了豐富的編程接口,簡(jiǎn)化了程序的設(shè)計(jì)。 而MFC就是直接把//WINDOWS的C
語(yǔ)言編程接口API函數(shù)用C++的類(lèi)封裝而成! 這樣既實(shí)現(xiàn)了面向?qū)ο蟮木幊趟枷?,又直?br>使用了WINDOWS的原始編程接口,代碼的效率是 最高的
//1。Window是由個(gè)許多DLL搭起來(lái)的系統(tǒng)的總稱(chēng),開(kāi)發(fā)Window程序就是如何調(diào)用這些DL
L,對(duì)于C程序員,它提供了.h/.lib,這些東西和一些文檔就構(gòu)成SDK,DDK。//。。他們?cè)?br>任何支持DLL調(diào)用的開(kāi)發(fā)環(huán)境中都可以使用(即函數(shù)指針)。2。通常SDK指與Window核心
調(diào)用有關(guān)的。。。但并不是專(zhuān)用名稱(chēng)。也用于其他地方
//VC只是一個(gè)編程工具,就如BC、BCB、Delphi一樣,其實(shí)對(duì)于編程最根本的就是三個(gè)方
面,語(yǔ)言、開(kāi)發(fā)包、操作系統(tǒng)API,他們?nèi)齻€(gè)方面應(yīng)該說(shuō)是相對(duì)比較獨(dú)立的//。VC是MS開(kāi)
發(fā)的,所以針對(duì)的是windows api,你可以不會(huì)C++,也可以在VC下用C寫(xiě)出很優(yōu)秀的程序
,當(dāng)然如果你比較熟練C++,并且熟悉開(kāi)發(fā)包MFC的話(huà),工作//可能要輕松不少。所以在
我看來(lái),學(xué)習(xí)的過(guò)程可以是這樣的,1、先學(xué)習(xí)C或C++,在windows的console環(huán)境下編寫(xiě)
不太深入涉及API的程序;2、在基本上掌握了//語(yǔ)法之后,開(kāi)始接觸簡(jiǎn)單的系統(tǒng)API,學(xué)
習(xí)Windows的編程原理和機(jī)制;3、在可以編寫(xiě)簡(jiǎn)單的菜單程序,可以簡(jiǎn)單地在WM_PAINT
下操作GDI函數(shù)后,開(kāi)始學(xué)習(xí)MFC//,可以從Step tourist學(xué)起,看MFC的源代碼,理解幾
個(gè)關(guān)鍵的宏的定義與實(shí)現(xiàn),特別是MESSAGE MAP。在學(xué)習(xí)的過(guò)程中為了給自己增加點(diǎn)挑戰(zhàn)
,盡量不要使用//resourceedit,試著自己編碼實(shí)現(xiàn)控件的創(chuàng)建,消息的響應(yīng)。再就是
看自己的造化了,動(dòng)手做一些小工具,特別是自己平常需要的,對(duì)自己的提高也應(yīng)該是
很有//幫助。
 
 
第四篇: 導(dǎo)航:第一篇 第二篇 第三篇 第四篇 第五篇 第六篇
學(xué)習(xí)c++的50條忠告(初學(xué)者必看)

1.把C++當(dāng)成一門(mén)新的語(yǔ)言學(xué)習(xí)(和C沒(méi)啥關(guān)系!真的。);

2.看《Thinking In C++》,不要看《C++變成死相》;

3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因?yàn)樗麄兒茈y而我們自己是初學(xué)者所以就不看;

4.不要被VC、BCB、BC、MC、TC等詞匯所迷惑——他們都是集成開(kāi)發(fā)環(huán)境,而我們要學(xué)的是一門(mén)語(yǔ)言;

5.不要放過(guò)任何一個(gè)看上去很簡(jiǎn)單的小編程問(wèn)題——他們往往并不那么簡(jiǎn)單,或者可以引伸出很多知識(shí)點(diǎn);

6.會(huì)用Visual C++,并不說(shuō)明你會(huì)C++;

7.學(xué)class并不難,template、STL、generic programming也不過(guò)如此——難的是長(zhǎng)期堅(jiān)持實(shí)踐和不遺余力的博覽群書(shū);

8.如果不是天才的話(huà),想學(xué)編程就不要想玩游戲——你以為你做到了,其實(shí)你的C++水平并沒(méi)有和你通關(guān)的能力一起變高——其實(shí)可以時(shí)刻記?。簩W(xué)C++是為了編游戲的;

9.看Visual C++的書(shū),是學(xué)不了C++語(yǔ)言的;

10.浮躁的人容易說(shuō):XX語(yǔ)言不行了,應(yīng)該學(xué)YY;——是你自己不行了吧!?

11.浮躁的人容易問(wèn):我到底該學(xué)什么;——?jiǎng)e問(wèn),學(xué)就對(duì)了;

12.浮躁的人容易問(wèn):XX有錢(qián)途嗎;——建議你去搶銀行;

13.浮躁的人容易說(shuō):我要中文版!我英文不行!——不行?學(xué)呀!

14.浮躁的人容易問(wèn):XX和YY哪個(gè)好;——告訴你吧,都好——只要你學(xué)就行;

15.浮躁的人分兩種:a)只觀望而不學(xué)的人;b)只學(xué)而不堅(jiān)持的人;

16.把時(shí)髦的技術(shù)掛在嘴邊,還不如把過(guò)時(shí)的技術(shù)記在心里;

17.C++不僅僅是支持面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言;

18.學(xué)習(xí)編程最好的方法之一就是閱讀源代碼;

19.在任何時(shí)刻都不要認(rèn)為自己手中的書(shū)已經(jīng)足夠了;

20.請(qǐng)閱讀《The Standard C++ Bible》(中文版:標(biāo)準(zhǔn)C++寶典),掌握C++標(biāo)準(zhǔn);

21.看得懂的書(shū),請(qǐng)仔細(xì)看;看不懂的書(shū),請(qǐng)硬著頭皮看;

22.別指望看第一遍書(shū)就能記住和掌握什么——請(qǐng)看第二遍、第三遍;

23.請(qǐng)看《Effective C++》和《More Effective C++》以及《Exceptional C++》;

24.不要停留在集成開(kāi)發(fā)環(huán)境的搖籃上,要學(xué)會(huì)控制集成開(kāi)發(fā)環(huán)境,還要學(xué)會(huì)用命令行方式處理程序;

25.和別人一起討論有意義的C++知識(shí)點(diǎn),而不是爭(zhēng)吵XX行不行或者YY與ZZ哪個(gè)好;

26.請(qǐng)看《程序設(shè)計(jì)實(shí)踐》,并嚴(yán)格的按照其要求去做;

27.不要因?yàn)镃和C++中有一些語(yǔ)法和關(guān)鍵字看上去相同,就認(rèn)為它們的意義和作用完全一樣;

28.C++絕不是所謂的C的“擴(kuò)充”——如果C++一開(kāi)始就起名叫Z語(yǔ)言,你一定不會(huì)把C和Z語(yǔ)言聯(lián)系得那么緊密;

29.請(qǐng)不要認(rèn)為學(xué)過(guò)XX語(yǔ)言再改學(xué)C++會(huì)有什么問(wèn)題——你只不過(guò)又在學(xué)一門(mén)全新的語(yǔ)言而已;

30.讀完了《Inside The C++ Object Model》以后再來(lái)認(rèn)定自己是不是已經(jīng)學(xué)會(huì)了C++;

31.學(xué)習(xí)編程的秘訣是:編程,編程,再編程;

32.請(qǐng)留意下列書(shū)籍:《C++面向?qū)ο蟾咝Ь幊蹋–++ Effective Object-Oriented Software Construction)》《面向?qū)ο筌浖?gòu)造(Object-Oriented Software Construction)》《設(shè)計(jì)模式(Design Patterns)》《The Art of Computer Programming》;

33.記住:面向?qū)ο蠹夹g(shù)不只是C++專(zhuān)有的;

34.請(qǐng)把書(shū)上的程序例子親手輸入到電腦上實(shí)踐,即使配套光盤(pán)中有源代碼;

35.把在書(shū)中看到的有意義的例子擴(kuò)充;

36.請(qǐng)重視C++中的異常處理技術(shù),并將其切實(shí)的運(yùn)用到自己的程序中;

37.經(jīng)?;仡欁约阂郧皩?xiě)過(guò)的程序,并嘗試重寫(xiě),把自己學(xué)到的新知識(shí)運(yùn)用進(jìn)去;

38.不要漏掉書(shū)中任何一個(gè)練習(xí)題——請(qǐng)全部做完并記錄下解題思路;

39.C++語(yǔ)言和C++的集成開(kāi)發(fā)環(huán)境要同時(shí)學(xué)習(xí)和掌握;

40.既然決定了學(xué)C++,就請(qǐng)堅(jiān)持學(xué)下去,因?yàn)閷W(xué)習(xí)程序設(shè)計(jì)語(yǔ)言的目的是掌握程序設(shè)計(jì)技術(shù),而程序設(shè)計(jì)技術(shù)是跨語(yǔ)言的;

41.就讓C++語(yǔ)言的各種平臺(tái)和開(kāi)發(fā)環(huán)境去激烈的競(jìng)爭(zhēng)吧,我們要以學(xué)習(xí)C++語(yǔ)言本身為主;

42.當(dāng)你寫(xiě)C++程序?qū)懙揭话雲(yún)s發(fā)現(xiàn)自己用的方法很拙劣時(shí),請(qǐng)不要馬上停手;請(qǐng)盡快將余下的部分粗略的完成以保證這個(gè)設(shè)計(jì)的完整性,然后分析自己的錯(cuò)誤并重新設(shè)計(jì)和編寫(xiě)(參見(jiàn)43);

43.別心急,設(shè)計(jì)C++的class確實(shí)不容易;自己程序中的class和自己的class設(shè)計(jì)水平是在不斷的編程實(shí)踐中完善和發(fā)展的;

44.決不要因?yàn)槌绦?#8220;很小”就不遵循某些你不熟練的規(guī)則——好習(xí)慣是培養(yǎng)出來(lái)的,而不是一次記住的;

45.每學(xué)到一個(gè)C++難點(diǎn)的時(shí)候,嘗試著對(duì)別人講解這個(gè)知識(shí)點(diǎn)并讓他理解——你能講清楚才說(shuō)明你真的理解了;

46.記錄下在和別人交流時(shí)發(fā)現(xiàn)的自己忽視或不理解的知識(shí)點(diǎn);

47.請(qǐng)不斷的對(duì)自己寫(xiě)的程序提出更高的要求,哪怕你的程序版本號(hào)會(huì)變成Version 100.XX;

48.保存好你寫(xiě)過(guò)的所有的程序——那是你最好的積累之一;

49.請(qǐng)不要做浮躁的人;

50.請(qǐng)熱愛(ài)C++!


 
第五篇: 導(dǎo)航:第一篇 第二篇 第三篇 第四篇 第五篇 第六篇
學(xué)好VC++的十大良好習(xí)慣

每到年底各大媒體就爭(zhēng)先恐后熱火朝天地搞總結(jié),什么十大人物,十大品牌,十大美女,十大帥哥等等五花八門(mén)亂七八糟的讓人充滿(mǎn)好奇充滿(mǎn)懷疑,這事確實(shí)讓人有點(diǎn)郁悶,就如同男足國(guó)家隊(duì)的國(guó)產(chǎn)教練如沈墻扶們每一次踢球失敗后都要說(shuō)這么一句:我們回去后要好好總結(jié),下次會(huì)打得更好! 這話(huà)聽(tīng)了幾十年了,耳朵都生蟲(chóng)了,但還是無(wú)法看到中國(guó)豬球隊(duì)有象人樣的表現(xiàn)。因此,總結(jié)在某一程度上來(lái)說(shuō)只不過(guò)是一種形式罷了,總結(jié)不代表就能改過(guò)原有的不足,也不代表就能進(jìn)步了,甚至有點(diǎn)俗不可耐,盡管如此,阿蒙亦明知故俗,前人說(shuō)過(guò)了入鄉(xiāng)了就要隨俗,因此你生活在這種環(huán)境里,你無(wú)法對(duì)這些無(wú)聊無(wú)趣的東東置之不理,除非你是天才,天才往往在非天才的人看來(lái)是很怪異的,處處與現(xiàn)實(shí)格格不入,可阿蒙不是天才,所以還得趕快總結(jié),要不就離題,又被大家罵了,:)

 ?。ㄒ唬┏浞掷肕SDN,因?yàn)槲覀€(gè)人覺(jué)得它勝過(guò)任何一本編程參考書(shū);

  MSDN是 Microsoft 當(dāng)前提供的有關(guān)編程信息的最全面的資源,它包含微軟最新的技術(shù)數(shù)據(jù)庫(kù),加上易學(xué)易用的全文檢索功能,讓您迅速找到任何您需要的技術(shù)參考數(shù)據(jù),讓您隨時(shí)擁有與全世界菁英同步的技術(shù),掌握最豐富的程序開(kāi)發(fā)資源。我經(jīng)常收到很多朋友的EMAILS,他們所提的問(wèn)題往往都非常的簡(jiǎn)單,MSDN完全可以解答這些問(wèn)題,但他們好象不太喜歡用,這是讓我郁悶的地方,是因?yàn)橛⑽牟缓媚?,還是沒(méi)有學(xué)會(huì)充分利用各種資源來(lái)解決問(wèn)題的方法呢?

 ?。ǘ┨岣哂⑽乃?,養(yǎng)成多上英文網(wǎng)站多看英文資料多買(mǎi)老外原版英文書(shū);

  有關(guān)程序員與英文水平的討論已太多太多, 我個(gè)人認(rèn)為要成為程序員,高中的英語(yǔ)水平夠了,甚至不懂英語(yǔ)的一些人,也同樣可以成為較好的程序員,因?yàn)殚_(kāi)發(fā)工具的發(fā)展將是越來(lái)越傻瓜,但如果你是僅僅滿(mǎn)足于能運(yùn)用某種工具開(kāi)發(fā)某個(gè)軟件模塊,那是沒(méi)話(huà)說(shuō)了。真正熱衷技術(shù)肯干鉆研樂(lè)于接受挑戰(zhàn)的程序員是不滿(mǎn)足于現(xiàn)狀的,他們總感覺(jué)有太多的未知,于是總在不停地學(xué)習(xí),如今信息技術(shù)發(fā)展得太快,而大部分的技術(shù)最先出現(xiàn)的時(shí)候都是英文版本的,要幾個(gè)月或者幾年以后才有中文版本的書(shū)出來(lái),因此要想跟上步伐,一定要努力提高自己的英文水平,這樣才能同步跟上信息技術(shù)。你可能擔(dān)心自己的英語(yǔ)水平不行,沒(méi)關(guān)系,剛開(kāi)始多查字典,“萬(wàn)事開(kāi)頭難”,必須有持之以恒的精神,不久你就會(huì)發(fā)現(xiàn)計(jì)算機(jī)英語(yǔ)其實(shí)很容易的。何況很多

  英文技術(shù)站點(diǎn)確實(shí)比國(guó)內(nèi)做得好啊!比如http://www.codeguru.com,http://www.codeproject.com,http://www.programmersheaven.com 等等。

 ?。ㄈ┘訌?qiáng)自我管理,善于作自我總結(jié),分析自已的優(yōu)點(diǎn)及缺點(diǎn)。

  中國(guó)境內(nèi)百分之八十以上的領(lǐng)導(dǎo)人在百分之八十以上的場(chǎng)合的講話(huà)中都有類(lèi)似的觀點(diǎn),所以在這里我是不多說(shuō)了,反正這一條用在什么行業(yè)什么地方都不會(huì)有錯(cuò)的,人生最大的敵人不是就是自已嗎?管好自已認(rèn)清自已,那還有什么搞不定的?

 ?。ㄋ模B(yǎng)成良好的文檔習(xí)慣

  程序員大多都不喜歡寫(xiě)文檔,我以前也是特討厭,在我的思想里,所謂的文檔就是一些廢話(huà),一句話(huà)硬是用十句話(huà)來(lái)代替的無(wú)聊透頂,就如同部分中文系男生的愛(ài)情表白,明明就是“我愛(ài)你”三個(gè)字,他硬是把月亮啊太陽(yáng)啊大海啊高山啊石頭啊天使啊亂七八糟的都拉上關(guān)系了,盡管聽(tīng)起來(lái)浪漫,但在我認(rèn)為不實(shí)用,:), 甚至太肉麻了,一個(gè)男子漢干嘛這么羅里羅嗦的……良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),一個(gè)好的程序是先寫(xiě)好設(shè)計(jì)文檔再進(jìn)行編程的,在設(shè)計(jì)文檔的指導(dǎo)下,才能寫(xiě)出安全的代碼。如果你不寫(xiě)文檔,一開(kāi)始就寫(xiě)程序,這樣你就不會(huì)按已設(shè)計(jì)好的路線(xiàn)走,而是想到哪寫(xiě)到哪。小功能還好說(shuō),要是大功能,就容易混亂甚至失控。那么如何寫(xiě)文檔呢?其實(shí)我認(rèn)為沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),雖然國(guó)家及一些NB的人總結(jié)了很多的模板,但每個(gè)人的習(xí)慣不同,如果你不加以修改或創(chuàng)新,就套用某個(gè)標(biāo)準(zhǔn),我相信寫(xiě)起來(lái)會(huì)很吃力及說(shuō)不清的難受,因此我覺(jué)得只要能將你的設(shè)計(jì)思想及實(shí)現(xiàn)算法或步驟描述清楚就是好的文檔,我強(qiáng)烈建議廣大程序員朋友們?cè)趯?xiě)文檔時(shí)要善于用圖表來(lái)說(shuō)明你的思想,我們不是作家,也可能作文都經(jīng)常性地不及格,寫(xiě)出五官端正的文章對(duì)我們來(lái)說(shuō)可能不容易??!好好地利用VISIO,ROSE或別的工具來(lái)表達(dá)你的思想吧!


(五)代碼風(fēng)格要規(guī)范,嚴(yán)謹(jǐn),效率要高。

  這個(gè)不用說(shuō)了,所以一定要記住了!不過(guò),這一點(diǎn)有時(shí)可能與人的性格有關(guān),如果你是經(jīng)常丟三落四經(jīng)常胡子長(zhǎng)長(zhǎng)經(jīng)常鈕扣扣錯(cuò)經(jīng)常吃個(gè)快餐要一個(gè)小時(shí)的人,那你在CODING的時(shí)候可千萬(wàn)要注意了,CODING是CODING,生活是生活,不要寫(xiě)出的程序也是那樣就不好了!

  (六)掌握好跟蹤調(diào)試技巧。

  跟蹤調(diào)試程序是一件繁瑣而又復(fù)雜的事情,所以掌握必要的調(diào)試策略及技巧卻可以使這些工作變得輕松起來(lái)。強(qiáng)烈建議你去看一下老美Everett N。McKay及Mike Wooding寫(xiě)的書(shū)<<Debugging Windows Programs>>,你一不定受益匪淺。

 ?。ㄆ撸B(yǎng)成自我測(cè)試的習(xí)慣

  測(cè)試工作應(yīng)由測(cè)試工程師來(lái)做,但在你寫(xiě)完一個(gè)模塊或一個(gè)軟件時(shí),還是要自已先測(cè)試一下,保證不要出現(xiàn)一些低級(jí)的錯(cuò)誤,何況這些錯(cuò)誤讓測(cè)試工程師看到了,狂扁你一頓,你很沒(méi)FACES的。

 ?。ò耍┥朴诮涣魃朴跍贤?,特別是經(jīng)常與一些高手交流一下學(xué)習(xí)的心得體會(huì);

  有人說(shuō),程序員的性格大多內(nèi)向不喜歡說(shuō)話(huà),其實(shí)是有些誤會(huì)了,不是不喜歡而是話(huà)不投機(jī),我的腦袋一天到晚都在不停地轉(zhuǎn),函數(shù),數(shù)據(jù),算法啊充滿(mǎn)了我的世界,我那還有時(shí)間與你談一些無(wú)聊的話(huà)題,話(huà)要找對(duì)人了,才容易談下去,書(shū)上說(shuō)過(guò)“聽(tīng)君一席話(huà),勝讀十年書(shū)”,你要找的就是這種豁然開(kāi)朗!現(xiàn)在技術(shù)的論壇越來(lái)越來(lái),這將成為程序員交流一個(gè)重要的地方,也有人說(shuō):“讀君一長(zhǎng)貼,勝讀十年書(shū)”,:)

  (九)階段性地做一下專(zhuān)題總結(jié)

  知識(shí)要溫故而知新,因此我建議程序員要養(yǎng)成階段性地做專(zhuān)題總結(jié)的習(xí)慣,比如你這個(gè)月學(xué)習(xí)或在做與多線(xiàn)程有關(guān)的模塊或項(xiàng)目,那么在你做完后,你就可以好好地總結(jié)一下所有與多線(xiàn)程相關(guān)的技術(shù),包括理論知識(shí),實(shí)踐方法以及各種技巧及優(yōu)秀文章等等,這對(duì)你各種能力的提高將有很大的幫助,你試過(guò)了嗎,如果沒(méi)有,那就快點(diǎn)行動(dòng)吧!

  (十)要有持之以恒的精神

  這是廢話(huà),因?yàn)槲易岵积R十大,所以將它也算上,中國(guó)自古以來(lái)喜歡號(hào)召大眾學(xué)習(xí)某種精神,比如馬&克&思的,列&寧的,毛&澤&東的,鄧&小&平的,雷峰的等,這些精神使社會(huì)更安定人民生活更美好,那么程序員要有什么樣的精神呢?我不是我說(shuō)了就算了的,我只是想說(shuō)明要學(xué)好任何一門(mén)技術(shù),最好要有持之以恒精益求精的精神,特別是學(xué)一些比較抽象比較難的技術(shù),比如VC++,我想它應(yīng)比別的開(kāi)發(fā)語(yǔ)言都要難學(xué)些,或許你已經(jīng)開(kāi)始了兩年了,但感覺(jué)還是不爽仿佛也沒(méi)掌握什么,這個(gè)時(shí)候你除了思考一下你的學(xué)習(xí)方法以外,還必須  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多