原文:http://blog.csdn.net/liquanhai/article/details/5499768程序員
預備知識:
1. VC是一門語言嗎?
VC不是一種語言,而是一種集成開發環境(IDE)。利用VC,能夠把源程序編寫、編譯連接、調試運行等各個工做放在一塊完成,很方便。若是你學過 8086彙編語言,必定會對其使人吐血的運行和調試方式印象頗深:) .那麼,咱們在VC裏用的是什麼程序設計語言呢? 是 C++。數據庫
2.MFC是什麼東東?VC和MFC有什麼關係?
常聽學VC的人提及MFC,有本口碑不錯的書名字就叫《深刻淺出MFC》,那麼MFC是什麼呢?咱們知道,C++是一種面向對象編程(OOP)語言,使用 別人封裝好的類(Class)能夠極大的加快軟件開發進度。而MFC,就是MicroSoft爲咱們提供的一個門類齊全、功能強大的類的集合,它的全稱 是:MicroSoft Foundation Class。咱們日常所說的"學習VC",有一小半內容是指學習MFC的功能和使用方法。那另外一大半呢?- 我不能立刻告訴你,立刻告訴你你印象不深:)編程
3.什麼是API函數?
舉個例子吧,若是讓你在電腦屏幕中間打印一行字:"只要想作一件事,就必定有辦法"。你會如何去作呢?在顯示器上顯示任何東西,本質上都是對硬件的操做, 做爲一個普通的coder,不可能也沒有必要去深刻到硬件層來實現這個功能。幸運的是,系統給咱們提供了一系列函數,只要咱們用C語言的方式調用這些函 數,剩下的和硬件打交道的事情就由系統幫咱們完成了。這些函數,就是傳說中的API函數,全稱:Application Programm Interface(應用程序接口)。在咱們上面的例子中,能夠先用API函數GetDC()取得桌面的DC,而後用TextOut()函數輸出文字。事 實上,要想紮實的學好VC程序設計,必定要理解和掌握這些API - 這就是另外一大半內容。
1、思想準備
真是有趣,學個程序開發還要思想準備?
我無心誇大學習VC的難度,可是VC的入門比VB之類的難不少倒是不爭的事實。若是你曾經3個星期搞定VB(這裏指入門),那麼VC可能要花三個月的時 間,這種廣泛存在的學習困難差別使得不少人產生嚴重的挫折感甚至最終放棄。固然,具體要花多長時間和你原有的基礎以及我的努力程度有關,稍後我會談到須要 哪些知識。而如今,我只但願朋友們能有這樣一個認識:VC是比較難學的,我須要作好長期學習的思想準備。windows
2、學習流程
誰都但願經過最短最好走的路到達目的地,學VC的人也不例外吧?然而有一些路是註定不能繞過的,繞過它們,你的知識就會就會變成無根之草,你就會在接下來的學習中舉步惟艱。下面順次列出學習VC所須要掌握的知識:
1. C++程序設計基礎網絡
2. Windows程序設計ide
3. MFC的學習和使用函數
若是你看到這裏以爲有畏難情緒,請把"1、思想準備"再讀一遍。
讓我來解釋一下這三個知識點的關係。學習
學VC必需要有C++的基礎。不會C++而能學會VC純屬扯淡。說到這裏我想調侃一下本身,由於我在上大二的時候曾經一時衝動要學VC,去圖書館借了幾本 書回來硬着頭皮啃了半個多月,仍然一頭霧水不知書中所云,遂放棄。如今回想起來,書寫的比較爛當然是沒有學成VC的一個緣由,但關鍵是本身基礎不夠--除 了VB啥都不懂,連"::"是什麼意思都不知道,呵呵見笑了。因此若是你如今還不懂得C++,請務必學C++先。
若是時間緊迫的話,也能夠速成:至少應該搞明白麪向對象編程的基本概念,好比類/對象/繼承/重載 等等。
推薦書目:利普曼 加.勞喬 著 潘愛民譯 《C++ Primer 》、錢能的《C++程序設計教程》也不錯。spa
注意:有很多人畏懼這部分的學習而選擇跳過去直接學習MFC,對此個人見解是:不可取。當你沒有學會走 路時,不要跑,不然每每會摔的很慘。侯俊傑先生說的」勿在浮沙築高臺「也是這個道理。而事實上當你潛心把這部分學好後,你會發現MFC的入門根本就不須要 花什麼時間。世上不少事情是須要水到渠成的,當你付出足夠的努力每每就能夠作成一件事(技術的事情尤爲如此),不須要刻意去找什麼捷徑,古人說「大巧無巧 術, 用巧者乃因此爲拙」,真正的捷徑就是不找捷徑。
推薦書目:Petzold 的《widnows程序設計》,有中文版的。爲何我只推薦這一本?由於它實在太經典了,一本足矣。.net
到此爲止,你已經掌握了使用API函數和MFC進行簡單可視化程序的開發,稍加訓練作個簡單的數據庫或者網絡的程序應該不成問題了。×××長征已經順利的邁出了第一步,恭喜你!
3、問答(FAQs)
問:我不會c語言,有關係嗎?
答:不要緊。你按照【學習流程】中說的123學就行。
問:我該裝哪一個版本的VC?
答:版本並不重要, 就像你吃飯時先吃哪道菜同樣. IDE的使用,一通百通。若是你實在沒有主意非要我推薦的話, 那就裝VC++6.0吧,最好是英文版的.
問:C++ 和 windows程序設計的學習能夠用VC進行編譯調試嗎?
答: 固然能夠。具體方法網上找,至關簡單。
問:VC的代碼量太大,一個最簡單的窗口都要百十行代碼。很差辦啊?
答:VC就這個樣,習慣了就行了。簡易和靈活是天生的矛盾,VC偏向於後者。
問:什麼是MSDN?我要不要安裝MSDN?
答:你能夠把MSDN簡單的理解爲一種函數參考手冊。對於VC程序員來講,沒有MSDN是不可想象的。
問:API函數和宏定義太多太難記,我該怎麼辦?
答:高中化學的原子量多很少?難不難記?但我相信當年不少人都記得經常使用元素的原子量。爲何?練的多天然就記住了,別亦無它,惟手熟而。
問:我學VC好一陣子了,以爲VC太難了,我該怎麼辦?
答:謝謝, 這是我所遇到的最容易回答的問題:堅持,或者放棄。
問:若是用一句話來歸納學好VC的關鍵方法,那是什麼? 答:親手寫代碼, 從最最簡單的程序開始, 編程、編程、再編程。