版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> MFC Programming and C + + related technologies</p><p> MFC, Microsoft Foundation Classes (Microsoft Foundation Classes), is actually provided by Microsoft for the C + + environment for writing ap
2、plications in a framework and engine, VC + + is to Windows, developers use professional C + + SDK (SDK, Standard SoftWare Develop Kit, professional software development platform), MFC is hung on it a supporting software
3、development kit, MFC, as with the VC + + flesh and blood portion (Note C + + and VC + + differences: C + + is a programming language, is a w</p><p> Programming Advantages</p><p> With the inn
4、ovation of programming languages, MFC shortcomings become increasingly prominent. The most important entry barrier is higher relative to other languages, but also to complete a task relatively large amount of code. The o
5、riginal advantages, such as running speed, etc., but also because of other programming languages ??and personal computers continue to improve computing speed increases appear less prominent. MFC seems bad to worse. MFC i
6、s really no advantage, but it? No, the face of t</p><p> Language development </p><p> C + + language development can be divided into three stages: The first stage, from 80 to 1995. This phas
7、e is basically C + + language is the traditional type of object-oriented language, and by virtue of the efficiency of close to C language, developed for use in the industrial sector accounts for a significant language sh
8、are; The second phase from 1995 to 2000, this stage as the Standard Template Library (STL) and later the Boost libraries such as the emergence of generic programming in C + +</p><p> C + + Getting Started&
9、lt;/p><p> C + + is a language, merely its syntax, features, standard library already is a very advanced courses, so the time to start learning, we must first lay a solid foundation. There are a lot of the Vis
10、ual C + + book, although it may take 1-2 chapters to introduce the basic characteristics of C + +, but that will not let you get started. Therefore, beginners should choose to learn C + + for C + + language itself, books
11、, and can not be for the Visual C + +, MFC or Windows API's. Learning C + + shoul</p><p> The design principles of C + + </p><p> ? C + + designed as a static type, and C as efficient and
12、 portable multi-purpose programming language. ? C + + designed to support direct and wide variety of programming styles (procedural programming, data abstraction, object-oriented programming, generic programming). ? C
13、+ + is designed to give programmers more choice, even if the wrong choice could lead to program designers. ? C + + designed to be compatible as possible with C, whereby a C to C + + from the smooth transition. ? C + +
14、to </p><p> MFC程序設計與C++相關技術</p><p> MFC,微軟基礎類(Microsoft Foundation Classes),實際上是微軟提供的,用于在C++環(huán)境下編寫應用程序的一個框架和引擎,VC++是Windows下開發(fā)人員使用的專業(yè)C++ SDK(SDK,Standard SoftWare Develop Kit,專業(yè)軟件開發(fā)平臺),MFC就是掛在它
15、之上的一個輔助軟件開發(fā)包,MFC作為與VC++血肉相連的部分(注意C++和VC++的區(qū)別:C++是一種程序設計語言,是一種大家都承認的軟件編制的通用規(guī)范,而VC++只是一個編譯器,或者說是一種編譯器+源程序編輯器的IDE,WS,PlatForm,這跟Pascal和Delphi的關系一個道理,Pascal是Delphi的語言基礎,Delphi使用Pascal規(guī)范來進行Win下應用程序的開發(fā)和編譯,卻不同于Basic語言和VB的關系,Bas
16、ic語言在VB開發(fā)出來被應用的年代已經(jīng)成了Basic語言的新規(guī)范,VB新加的Basic語言要素,如面向?qū)ο蟪绦蛟O計的要素,是一種性質(zhì)上的飛躍,使VB既是一個IDE,又成長成一個新的程序設計語言),MFC同BC++集成的VCL一樣是一個非外掛式的軟件</p><p> MFC是Win API與C++的結(jié)合,API,即微軟提供的Windows下應用程序的編程語言接口,是一種軟件編程的規(guī)范,但不是一種程序開發(fā)語言本身
17、,可以允許用戶使用各種各樣的第三方(如我是一方,微軟是一方,Borland就是第三方)的編程語言來進行對Windows下應用程序的開發(fā),使這些被開發(fā)出來的應用程序能在Windows下運行,比如VB,VC++,Java,Delhpi編程語言函數(shù)本質(zhì)上全部源于API,因此用它們開發(fā)出來的應用程序都能工作在Windows的消息機制和繪圖里,遵守Windows作為一個操作系統(tǒng)的內(nèi)部實現(xiàn),這其實也是一種必要,微軟如果不提供API,這個世上對Win
18、dows編程的工作就不會存在,微軟的產(chǎn)品就會迅速從時尚變成垃圾,上面說到MFC是微軟對API函數(shù)的專用C++封裝,這種結(jié)合一方面讓用戶使用微軟的專業(yè)C++ SDK來進行Windows下應用程序的開發(fā)變得容易,因為MFC是對API的封裝,微軟做了大量的工作,隱藏了好多程序開發(fā)人員在Windows下用C++ & MFC編制軟件時的大量內(nèi)節(jié),如應用程序?qū)崿F(xiàn)消息的處理,設備環(huán)境繪圖,這種結(jié)合是以方便為目的的,必定要付出</p>
19、;<p> 最后要明白MFC不只是一個功能單純的界面開發(fā)系統(tǒng),它提供的類絕大部分用來進行界面開發(fā),關聯(lián)一個窗口的動作,但它提供的類中有好多類不與一個窗口關聯(lián),即類的作用不是一個界面類,不實現(xiàn)對一個窗口對象的控制(如創(chuàng)建,銷毀),而是一些在Windows(用MFC編寫的程序絕大部分都在Windows中運行)中實現(xiàn)內(nèi)部處理的類,如數(shù)據(jù)庫的管理類等,學習中最應花費時間的是消息和設備環(huán)境,對C++和MFC的學習中最難的部分是指針
20、,C++面向?qū)ο蟪绦蛟O計的其它部分,如數(shù)據(jù)類型,流程控制都不難,建議學習數(shù)據(jù)結(jié)構(gòu)C++版。 </p><p> MFC是微軟封裝了的API。什么意思呢?windows作為一個提供功能強大的應用程序接口編程的操作系統(tǒng),的確方便了許多程序員,傳統(tǒng)的win32開發(fā)(直接使用windows的接口函數(shù)API)對于程序員來說非常的困難,因為,API函數(shù)實在太多了,而且名稱很亂,從零構(gòu)架一個窗口動輒就是上百行的代碼。MFC是
21、面向?qū)ο蟪绦蛟O計與Application framework的完美結(jié)合,他將傳統(tǒng)的API進行了分類封裝,并且為你創(chuàng)建了程序的一般框架, </p><p> MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞一樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,并非每個類的內(nèi)部的所有函數(shù)都要
22、學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數(shù)記下來,隨時學習,也是很好的突擊方法。</p><p><b> 編程優(yōu)勢</b></p><p> 隨著編程語言的推陳出新,MFC一些缺點日益突出。最重要的就是入門門檻相對其他語言要高,而且同樣完成一個任務代碼量相對較多。而原有的優(yōu)勢如運行速度快等,也因為其他編程語言的日臻完善和個人電腦的運
23、算速度增加而顯得不那么突出。MFC似乎江河日下。但是MFC真的沒有任何優(yōu)勢了嗎?不是,面對底層程序,它能很輕松的與Windows API或驅(qū)動程序結(jié)合,就是在自己的代碼中直接使用API函數(shù),而API和驅(qū)動程序的資料都是以C語言為基礎的,這使得VC程序員能夠更輕松的使用Windows API。這樣造成了一個很有意思的現(xiàn)象,即入門時VC程序員要付出更多的努力來學習,但是一旦掌握后,開發(fā)其他領域的程序或使用第三方軟件時,如工業(yè)控制類的程序,由
24、于底層的程序都是用C語言編寫,反倒是VC程序員能夠更快的掌握該領域的編程技術。而很多其他的編程語言甚至找不到相關的資料。這就說明VC(MFC)實際上是一種入門困難,但是擴展學習卻很輕松的語言框架。如果既限于某一領域的話VC毫無優(yōu)勢可言,但是如果開發(fā)一個新的領域的應用程序或者該程序涉及多個應用領域的話,可減少重復學習的頻率和難度,VC(MFC)的優(yōu)勢會立刻顯現(xiàn)出來。</p><p><b> 語言發(fā)展&
25、lt;/b></p><p> C++語言發(fā)展大概可以分為三個階段: </p><p> 第一階段從80年代到1995年。這一階段C++語言基本上是傳統(tǒng)類型上的面向?qū)ο笳Z言,并且憑借著接近C語言的效率,在工業(yè)界使用的開發(fā)語言中占據(jù)了相當大份額; </p><p> 第二階段從1995年到2000年,這一階段由于標準模板庫(STL)和后來的Boost等程序
26、庫的出現(xiàn),泛型程序設計在C++中占據(jù)了越來越多的比重性。當然,同時由于Java、C#等語言的出現(xiàn)和硬件價格的大規(guī)模下降,C++受到了一定的沖擊; </p><p> 第三階段從2000年至今,由于以Loki、MPL等程序庫為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++出現(xiàn)了發(fā)展歷史上又一個新的高峰,這些新技術的出現(xiàn)以及和原有技術的融合,使C++已經(jīng)成為當今主流程序設計語言中最復雜的一員。</p>&
27、lt;p><b> C++入門</b></p><p> C++是一種語言,僅僅是它的語法、特性、標準類庫就已經(jīng)是一門非常高深的課程,所以在開始學習的時候,必須先要打好基礎。在市面上有很多Visual C++的書,雖然其中可能會花1-2章來介紹C++的基本特性,但是那絕對不會讓你入門。因此,初學者學習C++應該選擇針對C++語言本身的書籍,而不能是針對Visual C++、MFC或
28、者Windows API的。 </p><p> 學習C++應該由易至難,循序漸進。以前經(jīng)常有人說學習C++之前應該學習C語言。事實上那不是必須的,C++和C語言雖然有關系,但仍然是兩種不同的語言。當然,在學習C++之前學習過其他編程語言是很有好處的。那會使學習C++的速度更快,畢竟很多計算機語言的概念都是相通的。而對于零基礎的初學者來說,則是應該靜下心來,不要急躁。要成為C++的高手,不是那么容易的,必須要花
29、很大的努力。 </p><p> 從入門教材的選擇上,主要看學習者的自身情況。如果已經(jīng)有過學習高級語言的經(jīng)歷,那么推薦使用譚浩強的《C++程序設計》。注意是04年版的,06年版的那本書是閹割版,上來就面向?qū)ο?。雖然說C和C++是相似的,但是前面已經(jīng)說了,C和C++應該作為兩種語言來學習,所以06年的那本內(nèi)容就稍微欠缺一點了。譚浩強04版的這本書內(nèi)容比較規(guī)整的,條理也很清晰。如果有過其他高級語言的基礎,那么估計半
30、年就能對C++的概況有個了解了。譚浩強老師的書已經(jīng)成為了全國各大高等院校的教科書,是比較受到認可的。 </p><p> 如果是從零基礎開始學C++,那么推薦使用潘嘉杰的《易學C++》。這本書是2008年出的新書,聽說是個學生在讀書的時候?qū)懙?。這本書網(wǎng)上有下載免費的電子版。這本書主要就是針對初學者的,講得也比較生動有趣,比較提得起學習的興趣。所以沒有基礎的初學者選這本書也是不錯的,就是想要很快成為高手,可能看這
31、本書還不夠。 </p><p> 至于看完入門的書之后,就應該看一些高層次的書了。比如The C++ Programming Language和C++ Primer,同時也可以向STL、MFC、API等各個方向發(fā)展。如果對別的語言感興趣,還能去看看C#和Java,它們和C++從語法和很多概念上都是類似的。</p><p><b> C++設計原則</b></
32、p><p> · C++設計成靜態(tài)類型、和C同樣高效且可移植的多用途程序設計語言。 </p><p> · C++設計成直接的和廣泛的支援多種程序設計風格(程序化程序設計、資料抽象化、面向?qū)ο蟪绦蛟O計、泛型程序設計)。 </p><p> · C++設計成給程序設計者更多的選擇,即使可能導致程序設計者選擇錯誤。 </p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論