1. 程式人生 > >如何學好windows c++程式設計 學習精髓(收集,整理)

如何學好windows c++程式設計 學習精髓(收集,整理)

/;;看看,可以找到《深入淺出MFC》2e電子版下載!
有一本書很好《WIN32程式設計師參考大全》即可瞭解WIN C SDK,又可以瞭解WINDOWS,一舉兩得。就是有好幾本。可以到VC知識庫網站的電子圖書欄目下載。
我認為需要三本書,
1 <<windows 高階程式設計指南>> 美 Jeffrey Richter.清華大學出版 99元
2 <<windows 程式設計>> 美 Charles Petzold 北京大學出版 160元
3 <<MFC與Windows程式設計>> 美 Jeff Prosise 是英文版的 北京大學出版 198元
還有更好的選擇嗎?我不相信!
我學vc也半年了,c和c++的功底不錯,對vc感覺還可
以。我認為學vc也有些技巧,可以事半功倍。
vc的書要跳著看,先把api,windows執行的概念看懂,
再看mfc其實只要你c++學的好,mfc幾乎沒多少可看的,
就是一些功能的封裝。vc其試只是工具,精華都在windows
程式的流程上。
掌握好概念後,就是狂背各種api函式和mfc封裝的
成員函式。
最後就是研究mfc程式碼和其它原始碼
我學vc已有些時間了。但總有的地方不清楚。到網上去問“高手”,老被罵的狗血碰頭,到頭來,還是一頭霧水。後來買到一本好書,
The MFC Answer Book, Solutions for Effective Visual C++ Applications
Author: Eugene Kain
Published by Addision-Wesley
個人認為學習VC的前提是C++,特別是虛擬函式、派生、和指標,餘皆不足慮也。
vc 的瓶頸就在於各種api和mfc封裝的函式呼叫。例如你知到
ddx在update()執行時預設凋用dodatachange(),等等一些函式刁用。vc順脆是小菜。
vc本身就是傻瓜工具,微軟開發vc原意就是要縮短
程式設計師培循時間。可國內有人據燃要用幾年時間來學,真是太可怕了,太可悲了。學會了只能在windows平臺上開發,那末你那有時間去學其他平臺的程式開發。
vc只是工具,關件在學windows*作系同,windows
通了,vc最多半年。
勸大家一句,不要在看身末“深入淺出”之內的
書了,去找一本專門講vc庫函式的書看,這才是精通之道。
住:以上經驗只試用於,具有很強c/c++遍程能力者。
我覺得學vc要先從c,c++學起,然後是api和mfc(英語很重要,不過不用怕,用金山詞霸邊查邊學,等你vc入門後,你的英語閱讀能力也會上一個臺階);
另外我要的經驗是學的時候不要鑽牛角尖,學語言關鍵是
學語法和概念(繼承,過載,多型性...),其次才是某某函式怎麼用之類的東西.
(學windows程式設計一定要掌握訊息機制)
要想學懂VC必須:
1、找幾本好書:《window程式設計》只看前幾章,看懂
windows的訊息機制,Api的結構;
《mfc深入淺出》全面學習,深刻理解mfc的結構
2、編一個較大型的專案,不停的使用VC,邊用邊理解看
過的東西;
3、經常看優秀的源程式。
我本來無資格發言的,因為我也是一個多月前才決定學VC的。我總結一下以上n位的發言(隨便練練指法):
1.在學vc之前最好能有點其他語言的基礎.(沒有也沒多大關係)
2.學c++之前不必學c.(當然會c會快點)
3.c++的一些概念很重要(如:物件,類,構造、解構函式,繼承,模板等),最好弄透(怎麼弄透,誰告訴我?)好書推薦:<<thinking in c++>>(<<c++程式設計思想>>screen.width-300)this.width=screen.width-300'>39.00元,適合對c++較熟悉的人.(有沒有適合白痴級的好書,讓我弄透以上重要概念,麻煩介紹一下)
4.API---->MFC.好書推薦:
(1)<<深入淺出MFC>>(<<Dissecting MFC>>screen.width-300)this.width=screen.width-300'>80.00元,701頁.電子書下載:www.csdn.net(不過是繁體版的,有些術語和大陸不同).購買:www.huachu.com.cn. www.beijingbook.com, 人民時空.(第一家最便宜)
(2)<<inside visual c++>>(<<visual c++技術內幕>>screen.width-300)this.width=screen.width-300'>96.00元,900多頁.最好買第四版的(清華出版,潘愛民翻譯),電子書下載:至今也沒找到(只有第五版,English的),一些網站上說的好聽其實都是些原始碼(害我下了100多兆的原始碼,這些人建網站幹嗎,吃飽了撐地,這裡copy一些,那裡copy一些不看一下就上傳,有什麼意思) .購買同上.
(3)<<windows 程式設計>>(<<windows programming>>screen.width-300)this.width=screen.width-300'>(第五版,以前的版本叫<<windows95 程式設計>>我沒找到電子書(www.ssreader.com好像有)和購買網站)160.00元,1346頁 電子書下載:至今也沒找到(只有第五版,English的), .購買同上.
以上的書有人看懂了,說好
有人沒看懂,煩惱
fang說:什麼樣的書儘管沒多大用,但是對特定的人,特定的時期,特別有用
我說:盡信書不如無書
5.邊學邊練,多看MSDN,英語不好的人,會費盡一些(我算是完了,真的很傻,以前馬老師對我不錯,想起來真對不起他(對不起的是你自己))
學習VC,MSDN既重要也不重要,關鍵是先後問題。建議你先看 侯俊傑的《深入淺出MFC》,買不到的話可以到我的主頁的電子書下載理去下載。要是你是成都的話就比較幸運些,成都有這本書賣喲!!!相信看過這本書後,你就知道該怎麼學VC了。MSDN在電腦城去買,4元一張。一共3張(新版,老版2張)。
好了,先把上面做了!快行動喲!!!
我是一個大一的學生,讀計算機的。我對程式設計很感興趣,我以為可以在學校學到好東西,於是就慢慢來學,現在差不多有一年了,誰知連個屁也沒學到。直到我來到這,被大家的熱情感動了。我決定自學。後來我聽說有些大學生能通過高程。於是我就買了[離散數學],[C程式設計],[計算機英語]學起來.聽說還要學[資料結構],[*作系統],[編譯原理].請問要學完這些要多少時間?先宣告我是一個菜鳥.還有應該先學哪些?我正在為此奮鬥,希望大家指點小弟一下.
學VC我認為有益下要點; 1.要對win95*作系統的特點了解。如:多工,訊息對映等。 2.面向物件的設計特點,即類,需要學好C++。 3.對MFC也要有一定的認識。 4.真對一實際問題深入程式設計,不投機取巧,老實下功。
過去我在VC上下過很大的功夫,光MFC,WIN32API手冊就看過很多遍。我認為學好VC的關鍵在於對Windows 系統的瞭解,如果連某個動作對應的訊息都不知道,又如何處理它了。
VC 進階:1. C 語言;2. C++ ,OOP;3. Windows 運作機理,SDK程式設計;4. MFC類庫,應用程式框架程式設計;5. ActiveX,ATL,COM……每步驟通常需要6個月,最快也得3個月,諸位同意否?
學 VC 或 windows 程式設計分三 STEP:1. 只 SDK 提供的 Function 作開發,不要Object, 你會知 How to handle Message. 2. MFC 程式設計, 用 CEdit 等開發.3. 再用 VC如果你有一個別人的好程式, 不妨自己跟著他的思路,從小到大自己完成一遍。好書:<<MFC深入淺出>> 學習VC++有相當的內容要學,而最後的深度則看個人的悟性與勤奮了。1)掌握最新標準的C++。 如果曾經在大學裡自以為學過C/C++,還對dynamic_cast/static_cast/template/try/catch/throw/stl/...感到陌生,那你該Refresh一下新的ANSI C++標準了。 ----此與VC++無甚關聯,g++/bcb均有所支援。(2個月)2) 學習SDK程式設計;:-O (6個月) 痛苦是暫時的,必要的,堅持就是勝利! 建議用Lccwin32/Masm32/Tasm編寫小而精的工具軟體; "Windows Programming Guide." "Advanced Windows programming "3) 研究MFC原始碼。(6個月) 不要被一大堆的巨集所矇蔽,just track and dig into it!! 在知道MFC如何擴充套件,包裝SDK之後,自可功力漸進,不被其MFC系統框架所困繞。 "MFC Internals"4) 研究OLE/COM技術。 COM/ActiveX技術是MS的核心技術,只有徹底洞察其理論精髓才可以體會現在的*作系統的技術趨勢,以不變應萬變。 "Inside Ole 2"***幾點建議***:1) Delphi/BCB/VB可以很快構築介面,但對於想真正學習、理解系統不是一個好的平臺,但如果有時間讀一讀VCL的原始碼,看看Borland是如何封裝系統的,也可借鑑不少。2) 學習ASM對理解C++有很大益處。Soft-ICE也是和VC++結合在一起的好工具;3) 語言本身是皮毛,演算法是筋骨;無論高階語言如何發展,在理解*作系統的基礎上不斷自我創新的能力是源源不斷的;如果精髓一旦瞭然於胸,選擇何種開發工具都可以駕御,一見如故了。