學(xué)C++和VC如何入門(mén)_第1頁(yè)
學(xué)C++和VC如何入門(mén)_第2頁(yè)
學(xué)C++和VC如何入門(mén)_第3頁(yè)
學(xué)C++和VC如何入門(mén)_第4頁(yè)
學(xué)C++和VC如何入門(mén)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

成都達(dá)內(nèi)教育每年10萬(wàn)人選擇上市公司成都達(dá)內(nèi),做有情懷的好教育在論壇上呆久了,發(fā)現(xiàn)很大一部分有關(guān)開(kāi)發(fā)的帖子都是有關(guān)心懷夢(mèng)想,立志成為一個(gè)軟件英雄或者響當(dāng)當(dāng)?shù)暮诳腿宋?或者是狂熱的游戲玩家,突然想邁入游戲開(kāi)發(fā)的殿堂,自己打造一個(gè)完美的游戲;或者被IT行業(yè)的“錢(qián)”途無(wú)量所吸引,為了經(jīng)濟(jì)因素希望成為一個(gè)程序員的,而尋求進(jìn)入軟件開(kāi)發(fā)領(lǐng)域之門(mén)的求助帖子。這些諸如“你好,我想做程序員,應(yīng)該怎么做?”,“初學(xué)C++,請(qǐng)問(wèn)看什么書(shū)好”,“請(qǐng)高手幫我看看這個(gè)程序”,“我想轉(zhuǎn)行,請(qǐng)高手指點(diǎn)”……的帖子占了各大軟件開(kāi)發(fā)論壇帖子總量的很大一部分。自從做了C++板塊的版主,經(jīng)常收到不相識(shí)網(wǎng)友的消息或Email,基本上還是問(wèn)這些問(wèn)題。看到這些帖子和Email,不禁想起自己剛剛邁入軟件開(kāi)發(fā)的領(lǐng)域,茫茫然不知何去何從,興奮而又彷徨不安的過(guò)去,這樣的經(jīng)歷一次又一次,在不同的地點(diǎn)、不同的時(shí)間仍然在不斷的重復(fù)。今天終于坐下來(lái),寫(xiě)下一點(diǎn)文字,希望能夠?qū)︶葆宓呐笥褌冇悬c(diǎn)幫助。確認(rèn)你真的要邁入軟件開(kāi)發(fā)領(lǐng)域軟件開(kāi)發(fā)是一項(xiàng)純智力活動(dòng)(現(xiàn)在人們都意識(shí)到長(zhǎng)時(shí)間超負(fù)荷的連續(xù)寫(xiě)程序并不會(huì)提高軟件生產(chǎn)率,反而會(huì)對(duì)軟件品質(zhì)造成很大負(fù)面影響,所以盡管很多程序員仍然長(zhǎng)時(shí)間加班,但這種現(xiàn)象正在逐步減少并最終會(huì)消失,所以體力要求并不會(huì)比其他行業(yè)高),如果你不是一個(gè)智力高于平均水平的人,說(shuō)實(shí)話(huà),軟件開(kāi)發(fā)并不適合你,你基本不可能在軟件開(kāi)發(fā)領(lǐng)域取得很高的成就和地位,而且不久就會(huì)因?yàn)槟挲g的增長(zhǎng)而被淘汰。如果你以那些開(kāi)發(fā)出共享軟件的軟件英雄和著名黑客為榜樣,立志也要成為他們的一員,像武俠小說(shuō)中的大俠一樣仗劍江湖。我要先給你潑上大大一盆冷水,把你從幻想拉到現(xiàn)實(shí)中來(lái)。首先,現(xiàn)在的軟件其復(fù)雜度和規(guī)模都遠(yuǎn)遠(yuǎn)超過(guò)以前,想一個(gè)人獨(dú)力完成一個(gè)規(guī)模稍大的軟件,基本沒(méi)有可能(雖然還是有些特例,buttrustme,那些僅僅是特例,請(qǐng)不要把自己想像成獨(dú)一無(wú)二的超人、幸運(yùn)兒);其次,無(wú)論是軟件英雄還是仗劍江湖的頂尖黑客,他們的軟件開(kāi)發(fā)功底和智力都遠(yuǎn)遠(yuǎn)超過(guò)軟件行業(yè)從業(yè)者的平均水平,沒(méi)有多年的積累和堅(jiān)韌超常人的毅力,是不可能,換句話(huà)說(shuō),想成為他們的一員,可以,但請(qǐng)首先成為一個(gè)合格的軟件開(kāi)發(fā)人員。如果你是因?yàn)閭髡f(shuō)中程序員的所謂“高薪”,對(duì)自己現(xiàn)在從事的工作不滿(mǎn)意,而萌生轉(zhuǎn)行的念頭,我勸你還是再慎重考慮一下。程序員的待遇一般來(lái)說(shuō),是要比平均水平高一些,但遠(yuǎn)遠(yuǎn)談不上高薪,而且以現(xiàn)在程序員的工作量來(lái)算,其實(shí)同樣的付出,程序員所得到的能和平均水平看齊就不錯(cuò)了,程序員的競(jìng)爭(zhēng)和淘汰也是異常殘酷的。技術(shù)的更新速度更是其他行業(yè)所罕見(jiàn),每個(gè)程序員都要不停的跑步跟上,不使自己落伍,所以在這個(gè)層面上來(lái)說(shuō),沒(méi)有誰(shuí)可以停下來(lái)休息,唯一能夠積累下來(lái)的就是你的經(jīng)驗(yàn),但經(jīng)驗(yàn)中能夠?yàn)槟愕母?jìng)爭(zhēng)力增添籌碼的并不多。說(shuō)了這么多,并不是我故意貶低,而是希望告訴你我所知道的軟件開(kāi)發(fā)行業(yè)的真實(shí)情況,基于此請(qǐng)?jiān)偕髦乜紤]你是不是真的要邁入軟件開(kāi)發(fā)領(lǐng)域。Studio或Borland的C++Builder系列,學(xué)習(xí)起來(lái)更是如虎添翼。但C++現(xiàn)在的缺點(diǎn)也是比較明顯的,我最深的感觸就是對(duì)于XP和AgileDevelopment的支持不好。Java簡(jiǎn)化了C++的語(yǔ)法,學(xué)習(xí)起來(lái)比較容易(但隨著Java的日益普及和發(fā)展,是否能夠繼續(xù)保持這一優(yōu)勢(shì),我不敢斷言),Eclipse是非常優(yōu)秀的Java開(kāi)發(fā)平臺(tái),支持XP的整個(gè)過(guò)程:設(shè)計(jì)、測(cè)試、編碼、重構(gòu)……現(xiàn)階段敏捷軟件開(kāi)發(fā)的主要語(yǔ)言就是Java。而且Java的跨平臺(tái)特性更是非常大的優(yōu)勢(shì)。實(shí)際上,選擇哪門(mén)語(yǔ)言都沒(méi)有關(guān)系,根據(jù)你的發(fā)展規(guī)劃和目前身邊的環(huán)境選擇就可以,沒(méi)有必要跟風(fēng),其后的堅(jiān)持才是難點(diǎn)。好,假設(shè)你選擇了C++做為開(kāi)發(fā)語(yǔ)言,在Windows平臺(tái)上開(kāi)發(fā),那么我給你如下的學(xué)習(xí)建議(其他的選擇請(qǐng)各位積極補(bǔ)充……):C++語(yǔ)言的學(xué)習(xí)當(dāng)然是基礎(chǔ),這個(gè)階段由于沒(méi)有任何在特定平臺(tái)上的開(kāi)發(fā)經(jīng)驗(yàn),我們只能按照書(shū)中的例子一個(gè)一個(gè)輸入運(yùn)行,暫時(shí)告別熟悉的圖形界面,回到古老的DOS了。參考書(shū)的選擇是這個(gè)階段很多朋友關(guān)心的,StanLippman的《EssentialC++》和《C++Primer》是我優(yōu)先推薦的,而《EssentialC++》因?yàn)槠^小,講解內(nèi)容適當(dāng),而且對(duì)C++STL的運(yùn)用有不少描述,顯得相當(dāng)實(shí)用,我認(rèn)為最適合初學(xué)者使用。無(wú)論選擇了那本書(shū)做為入門(mén)教材,都應(yīng)該逐個(gè)例子逐個(gè)例子的消化,不要貪快,但同時(shí)要對(duì)重點(diǎn)內(nèi)容有所側(cè)重。我們學(xué)習(xí)任何東西都是為了解決實(shí)際問(wèn)題,所以請(qǐng)把重點(diǎn)放在我們實(shí)際中最常用的部分,而不要過(guò)多的追究一些細(xì)節(jié)和艱深晦澀的不常用技術(shù)。此刻我們會(huì)碰到很多過(guò)后看來(lái)非常簡(jiǎn)單幼稚的問(wèn)題,比如為什么編譯出錯(cuò),為什么按照書(shū)中的例子輸進(jìn)去卻無(wú)法通過(guò)編譯,找不到頭文件等等,大體上這是因?yàn)閯倓偨佑|程序開(kāi)發(fā),對(duì)程序理解還很初級(jí),以及對(duì)于所使用的開(kāi)發(fā)環(huán)境不夠了解,特定編譯器對(duì)標(biāo)準(zhǔn)C++的支持程度不一導(dǎo)致。請(qǐng)多閱讀關(guān)于所使用開(kāi)發(fā)環(huán)境的各種文檔,以及查閱幫助文檔。以我最經(jīng)常使用的VisualC++配合MSDN來(lái)說(shuō),當(dāng)出現(xiàn)一個(gè)我不能理解的編譯錯(cuò)誤時(shí),按F4鍵編輯器就會(huì)自動(dòng)跳到當(dāng)前錯(cuò)誤地點(diǎn),下面的輸出窗口也會(huì)給出錯(cuò)誤代碼(比如C××××),把錯(cuò)誤代碼記下,打開(kāi)MSDN,在索引一欄輸入錯(cuò)誤代碼,就能夠查到詳細(xì)的關(guān)于此錯(cuò)誤的說(shuō)明,當(dāng)然,是英文的(不要問(wèn)你不會(huì)英文怎么辦,這是基本要求)?,F(xiàn)在的開(kāi)發(fā)工具查錯(cuò)排錯(cuò)非常方便。當(dāng)然,有時(shí)很多錯(cuò)誤原因并不是編譯器所提示的地方,而是往前或往后一些地方,長(zhǎng)期的編程經(jīng)驗(yàn)可以提高查錯(cuò)速度。此時(shí)也請(qǐng)多練習(xí)練習(xí)Debug技術(shù)。此階段只要能夠掌握C++的基本語(yǔ)言要素,對(duì)結(jié)構(gòu)化程序設(shè)計(jì)和基于對(duì)象的設(shè)計(jì)有一定理解,能夠完成一些簡(jiǎn)單的小程序就可以結(jié)束了,畢竟DOS程序現(xiàn)在很難勾起我們學(xué)習(xí)的欲望了:P在此之后可以視自己的情況決定是否學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)是程序員的必修課,不可或缺,地位非常重要,即使你現(xiàn)在希望馬上進(jìn)入圖形界面程序開(kāi)發(fā)的世界,這一課我也提醒你記著早點(diǎn)補(bǔ)上。終于可以邁入圖形世界,我們要從SDK編程開(kāi)始,不要擔(dān)心,這不會(huì)花費(fèi)你太長(zhǎng)時(shí)間,但卻是對(duì)Windows程序運(yùn)行機(jī)制進(jìn)行深入了解的好時(shí)機(jī),在此的努力都不會(huì)白費(fèi)(trustme),此時(shí)的參考書(shū)沒(méi)有什么好考慮的,基礎(chǔ)的有CharlesPetzold的《Windows程序設(shè)計(jì)》,進(jìn)階的有《Windows核心編程》。請(qǐng)從《Windows程序設(shè)計(jì)》開(kāi)始,CharlesPetzold的書(shū)通俗易懂,學(xué)習(xí)起來(lái)非常輕松,而且對(duì)你的語(yǔ)言要求不高,只要懂C就可以了。此時(shí)容易碰到的問(wèn)題大多與項(xiàng)目設(shè)置有關(guān),如果使用VisualC++,請(qǐng)按Alt+F7調(diào)出項(xiàng)目設(shè)置對(duì)話(huà)框仔細(xì)檢查,并閱讀相關(guān)文檔,熟悉各項(xiàng)配置的意義。此階段請(qǐng)重點(diǎn)掌握WindowsSDK程序的編寫(xiě)方法,Windows程序的運(yùn)行機(jī)制和Windows消息機(jī)制,和常用的WindowsAPI。我們還可以更進(jìn)一步:嘗試用前一階段學(xué)到的C++知識(shí)對(duì)過(guò)程化的SDK程序進(jìn)行初步的改造,將我們敲入計(jì)算機(jī)的程序變得可重用,按照自己對(duì)基于對(duì)象思想和面向?qū)ο笏枷氲睦斫鈦?lái)重新編寫(xiě)例子程序。OK,現(xiàn)在你已經(jīng)初步入門(mén)了,掌握了C++的基本用法,對(duì)面向?qū)ο笥辛艘稽c(diǎn)模糊而自以為是的認(rèn)識(shí),也能夠?qū)懗鯳indows程序了,雖然還有點(diǎn)簡(jiǎn)單,還有點(diǎn)丑陋,不過(guò),總歸是圖形界面啊。開(kāi)始有點(diǎn)感覺(jué)了是嗎?別急著往前沖,停一停,將C++和WindowsSDK的基礎(chǔ)打牢,貪多嚼不爛。此時(shí)有很多經(jīng)典書(shū)籍等待你去掌握,也有幾乎無(wú)限的題材供你練習(xí),請(qǐng)盡量多閱讀接觸下面的資源:《C++Primer》《Windows核心編程》《應(yīng)用程序調(diào)試技術(shù)》面向?qū)ο箝_(kāi)發(fā)設(shè)計(jì)方面的書(shū)籍MSDN的PlatformSDK部分,Periodicals部分(包含了大量有價(jià)值C++、SDK方面的技術(shù)文章)CodeProject里相關(guān)的源代碼是很好的補(bǔ)充學(xué)習(xí)資料現(xiàn)在繼續(xù)往前走吧,利用SDK開(kāi)發(fā)畢竟有時(shí)太過(guò)于費(fèi)時(shí)費(fèi)力,還是使用更高級(jí)的應(yīng)用程序開(kāi)發(fā)框架的好,主要的有MFC和VCL,關(guān)于這些框架誰(shuí)好誰(shuí)壞的爭(zhēng)論我已經(jīng)聽(tīng)煩了,一句話(huà),能幫助我們完成任務(wù)就行,它們無(wú)非都是工具,你自己隨便選擇吧。不過(guò)選擇好之后,你應(yīng)該明白,對(duì)于你的工具,了解越深,越能發(fā)揮它的威力。如果你選擇了MFC,我建議學(xué)習(xí)下面的書(shū)籍:《深入淺出MFC》:關(guān)于此書(shū)毋庸多說(shuō),盡管有人不停的貶低,但它的地位是無(wú)可置疑的,而且也是對(duì)我最有幫助的書(shū)籍之一?!禡FC程序設(shè)計(jì)》《VisualC++技術(shù)內(nèi)幕》然后就停止找書(shū)吧,網(wǎng)上開(kāi)發(fā)站點(diǎn)的數(shù)不勝數(shù)的源代碼就是最好的老師了……學(xué)習(xí)過(guò)程中碰到問(wèn)題我該怎么辦?我始終認(rèn)為學(xué)習(xí)軟件開(kāi)發(fā)過(guò)程中遇到的問(wèn)題只有自己盡最大的努力去解決,才能收到最大的成效,對(duì)于那些動(dòng)不動(dòng)就把問(wèn)題發(fā)到網(wǎng)上指望高手幫你解決的做法我非常不贊同,因?yàn)檫@樣你并不能從中學(xué)到多少。我建議的做法是,首先嘗試自己獨(dú)力解決問(wèn)題,花幾個(gè)小時(shí)解決一個(gè)問(wèn)題

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論