版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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程序設(shè)計(jì)與C++相關(guān)技術(shù)</p><p> MFC,微軟基礎(chǔ)類(lèi)(Microsoft Foundation Classes),實(shí)際上是微軟提供的,用于在C++環(huán)境下編寫(xiě)應(yīng)用程序的一個(gè)框架和引擎,VC++是Windows下開(kāi)發(fā)人員使用的專(zhuān)業(yè)C++ SDK(SDK,Standard SoftWare Develop Kit,專(zhuān)業(yè)軟件開(kāi)發(fā)平臺(tái)),MFC就是掛在它
15、之上的一個(gè)輔助軟件開(kāi)發(fā)包,MFC作為與VC++血肉相連的部分(注意C++和VC++的區(qū)別:C++是一種程序設(shè)計(jì)語(yǔ)言,是一種大家都承認(rèn)的軟件編制的通用規(guī)范,而VC++只是一個(gè)編譯器,或者說(shuō)是一種編譯器+源程序編輯器的IDE,WS,PlatForm,這跟Pascal和Delphi的關(guān)系一個(gè)道理,Pascal是Delphi的語(yǔ)言基礎(chǔ),Delphi使用Pascal規(guī)范來(lái)進(jìn)行Win下應(yīng)用程序的開(kāi)發(fā)和編譯,卻不同于Basic語(yǔ)言和VB的關(guān)系,Bas
16、ic語(yǔ)言在VB開(kāi)發(fā)出來(lái)被應(yīng)用的年代已經(jīng)成了Basic語(yǔ)言的新規(guī)范,VB新加的Basic語(yǔ)言要素,如面向?qū)ο蟪绦蛟O(shè)計(jì)的要素,是一種性質(zhì)上的飛躍,使VB既是一個(gè)IDE,又成長(zhǎng)成一個(gè)新的程序設(shè)計(jì)語(yǔ)言),MFC同BC++集成的VCL一樣是一個(gè)非外掛式的軟件</p><p> MFC是Win API與C++的結(jié)合,API,即微軟提供的Windows下應(yīng)用程序的編程語(yǔ)言接口,是一種軟件編程的規(guī)范,但不是一種程序開(kāi)發(fā)語(yǔ)言本身
17、,可以允許用戶使用各種各樣的第三方(如我是一方,微軟是一方,Borland就是第三方)的編程語(yǔ)言來(lái)進(jìn)行對(duì)Windows下應(yīng)用程序的開(kāi)發(fā),使這些被開(kāi)發(fā)出來(lái)的應(yīng)用程序能在Windows下運(yùn)行,比如VB,VC++,Java,Delhpi編程語(yǔ)言函數(shù)本質(zhì)上全部源于API,因此用它們開(kāi)發(fā)出來(lái)的應(yīng)用程序都能工作在Windows的消息機(jī)制和繪圖里,遵守Windows作為一個(gè)操作系統(tǒng)的內(nèi)部實(shí)現(xiàn),這其實(shí)也是一種必要,微軟如果不提供API,這個(gè)世上對(duì)Win
18、dows編程的工作就不會(huì)存在,微軟的產(chǎn)品就會(huì)迅速?gòu)臅r(shí)尚變成垃圾,上面說(shuō)到MFC是微軟對(duì)API函數(shù)的專(zhuān)用C++封裝,這種結(jié)合一方面讓用戶使用微軟的專(zhuān)業(yè)C++ SDK來(lái)進(jìn)行Windows下應(yīng)用程序的開(kāi)發(fā)變得容易,因?yàn)镸FC是對(duì)API的封裝,微軟做了大量的工作,隱藏了好多程序開(kāi)發(fā)人員在Windows下用C++ & MFC編制軟件時(shí)的大量?jī)?nèi)節(jié),如應(yīng)用程序?qū)崿F(xiàn)消息的處理,設(shè)備環(huán)境繪圖,這種結(jié)合是以方便為目的的,必定要付出</p>
19、;<p> 最后要明白MFC不只是一個(gè)功能單純的界面開(kāi)發(fā)系統(tǒng),它提供的類(lèi)絕大部分用來(lái)進(jìn)行界面開(kāi)發(fā),關(guān)聯(lián)一個(gè)窗口的動(dòng)作,但它提供的類(lèi)中有好多類(lèi)不與一個(gè)窗口關(guān)聯(lián),即類(lèi)的作用不是一個(gè)界面類(lèi),不實(shí)現(xiàn)對(duì)一個(gè)窗口對(duì)象的控制(如創(chuàng)建,銷(xiāo)毀),而是一些在Windows(用MFC編寫(xiě)的程序絕大部分都在Windows中運(yùn)行)中實(shí)現(xiàn)內(nèi)部處理的類(lèi),如數(shù)據(jù)庫(kù)的管理類(lèi)等,學(xué)習(xí)中最應(yīng)花費(fèi)時(shí)間的是消息和設(shè)備環(huán)境,對(duì)C++和MFC的學(xué)習(xí)中最難的部分是指針
20、,C++面向?qū)ο蟪绦蛟O(shè)計(jì)的其它部分,如數(shù)據(jù)類(lèi)型,流程控制都不難,建議學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)C++版。 </p><p> MFC是微軟封裝了的API。什么意思呢?windows作為一個(gè)提供功能強(qiáng)大的應(yīng)用程序接口編程的操作系統(tǒng),的確方便了許多程序員,傳統(tǒng)的win32開(kāi)發(fā)(直接使用windows的接口函數(shù)API)對(duì)于程序員來(lái)說(shuō)非常的困難,因?yàn)椋珹PI函數(shù)實(shí)在太多了,而且名稱(chēng)很亂,從零構(gòu)架一個(gè)窗口動(dòng)輒就是上百行的代碼。MFC是
21、面向?qū)ο蟪绦蛟O(shè)計(jì)與Application framework的完美結(jié)合,他將傳統(tǒng)的API進(jìn)行了分類(lèi)封裝,并且為你創(chuàng)建了程序的一般框架, </p><p> MFC是對(duì)WindowsAPI的封裝,大大簡(jiǎn)化了我們的工作;學(xué)VC主要就是要學(xué)MFC,大約有100多個(gè)類(lèi),但常用的也就二三十個(gè)。應(yīng)該象背4級(jí)單詞一樣將這些常用類(lèi)搞懂;當(dāng)然不要死記,要通過(guò)看幫助、看例子、動(dòng)手練習(xí)來(lái)學(xué)會(huì)它們;而且,并非每個(gè)類(lèi)的內(nèi)部的所有函數(shù)都要
22、學(xué)會(huì),要日積月累。如果真的想成為高手,做個(gè)筆記本把自己認(rèn)為重要的類(lèi)、函數(shù)記下來(lái),隨時(shí)學(xué)習(xí),也是很好的突擊方法。</p><p><b> 編程優(yōu)勢(shì)</b></p><p> 隨著編程語(yǔ)言的推陳出新,MFC一些缺點(diǎn)日益突出。最重要的就是入門(mén)門(mén)檻相對(duì)其他語(yǔ)言要高,而且同樣完成一個(gè)任務(wù)代碼量相對(duì)較多。而原有的優(yōu)勢(shì)如運(yùn)行速度快等,也因?yàn)槠渌幊陶Z(yǔ)言的日臻完善和個(gè)人電腦的運(yùn)
23、算速度增加而顯得不那么突出。MFC似乎江河日下。但是MFC真的沒(méi)有任何優(yōu)勢(shì)了嗎?不是,面對(duì)底層程序,它能很輕松的與Windows API或驅(qū)動(dòng)程序結(jié)合,就是在自己的代碼中直接使用API函數(shù),而API和驅(qū)動(dòng)程序的資料都是以C語(yǔ)言為基礎(chǔ)的,這使得VC程序員能夠更輕松的使用Windows API。這樣造成了一個(gè)很有意思的現(xiàn)象,即入門(mén)時(shí)VC程序員要付出更多的努力來(lái)學(xué)習(xí),但是一旦掌握后,開(kāi)發(fā)其他領(lǐng)域的程序或使用第三方軟件時(shí),如工業(yè)控制類(lèi)的程序,由
24、于底層的程序都是用C語(yǔ)言編寫(xiě),反倒是VC程序員能夠更快的掌握該領(lǐng)域的編程技術(shù)。而很多其他的編程語(yǔ)言甚至找不到相關(guān)的資料。這就說(shuō)明VC(MFC)實(shí)際上是一種入門(mén)困難,但是擴(kuò)展學(xué)習(xí)卻很輕松的語(yǔ)言框架。如果既限于某一領(lǐng)域的話VC毫無(wú)優(yōu)勢(shì)可言,但是如果開(kāi)發(fā)一個(gè)新的領(lǐng)域的應(yīng)用程序或者該程序涉及多個(gè)應(yīng)用領(lǐng)域的話,可減少重復(fù)學(xué)習(xí)的頻率和難度,VC(MFC)的優(yōu)勢(shì)會(huì)立刻顯現(xiàn)出來(lái)。</p><p><b> 語(yǔ)言發(fā)展&
25、lt;/b></p><p> C++語(yǔ)言發(fā)展大概可以分為三個(gè)階段: </p><p> 第一階段從80年代到1995年。這一階段C++語(yǔ)言基本上是傳統(tǒng)類(lèi)型上的面向?qū)ο笳Z(yǔ)言,并且憑借著接近C語(yǔ)言的效率,在工業(yè)界使用的開(kāi)發(fā)語(yǔ)言中占據(jù)了相當(dāng)大份額; </p><p> 第二階段從1995年到2000年,這一階段由于標(biāo)準(zhǔn)模板庫(kù)(STL)和后來(lái)的Boost等程序
26、庫(kù)的出現(xiàn),泛型程序設(shè)計(jì)在C++中占據(jù)了越來(lái)越多的比重性。當(dāng)然,同時(shí)由于Java、C#等語(yǔ)言的出現(xiàn)和硬件價(jià)格的大規(guī)模下降,C++受到了一定的沖擊; </p><p> 第三階段從2000年至今,由于以Loki、MPL等程序庫(kù)為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++出現(xiàn)了發(fā)展歷史上又一個(gè)新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++已經(jīng)成為當(dāng)今主流程序設(shè)計(jì)語(yǔ)言中最復(fù)雜的一員。</p>&
27、lt;p><b> C++入門(mén)</b></p><p> C++是一種語(yǔ)言,僅僅是它的語(yǔ)法、特性、標(biāo)準(zhǔn)類(lèi)庫(kù)就已經(jīng)是一門(mén)非常高深的課程,所以在開(kāi)始學(xué)習(xí)的時(shí)候,必須先要打好基礎(chǔ)。在市面上有很多Visual C++的書(shū),雖然其中可能會(huì)花1-2章來(lái)介紹C++的基本特性,但是那絕對(duì)不會(huì)讓你入門(mén)。因此,初學(xué)者學(xué)習(xí)C++應(yīng)該選擇針對(duì)C++語(yǔ)言本身的書(shū)籍,而不能是針對(duì)Visual C++、MFC或
28、者Windows API的。 </p><p> 學(xué)習(xí)C++應(yīng)該由易至難,循序漸進(jìn)。以前經(jīng)常有人說(shuō)學(xué)習(xí)C++之前應(yīng)該學(xué)習(xí)C語(yǔ)言。事實(shí)上那不是必須的,C++和C語(yǔ)言雖然有關(guān)系,但仍然是兩種不同的語(yǔ)言。當(dāng)然,在學(xué)習(xí)C++之前學(xué)習(xí)過(guò)其他編程語(yǔ)言是很有好處的。那會(huì)使學(xué)習(xí)C++的速度更快,畢竟很多計(jì)算機(jī)語(yǔ)言的概念都是相通的。而對(duì)于零基礎(chǔ)的初學(xué)者來(lái)說(shuō),則是應(yīng)該靜下心來(lái),不要急躁。要成為C++的高手,不是那么容易的,必須要花
29、很大的努力。 </p><p> 從入門(mén)教材的選擇上,主要看學(xué)習(xí)者的自身情況。如果已經(jīng)有過(guò)學(xué)習(xí)高級(jí)語(yǔ)言的經(jīng)歷,那么推薦使用譚浩強(qiáng)的《C++程序設(shè)計(jì)》。注意是04年版的,06年版的那本書(shū)是閹割版,上來(lái)就面向?qū)ο?。雖然說(shuō)C和C++是相似的,但是前面已經(jīng)說(shuō)了,C和C++應(yīng)該作為兩種語(yǔ)言來(lái)學(xué)習(xí),所以06年的那本內(nèi)容就稍微欠缺一點(diǎn)了。譚浩強(qiáng)04版的這本書(shū)內(nèi)容比較規(guī)整的,條理也很清晰。如果有過(guò)其他高級(jí)語(yǔ)言的基礎(chǔ),那么估計(jì)半
30、年就能對(duì)C++的概況有個(gè)了解了。譚浩強(qiáng)老師的書(shū)已經(jīng)成為了全國(guó)各大高等院校的教科書(shū),是比較受到認(rèn)可的。 </p><p> 如果是從零基礎(chǔ)開(kāi)始學(xué)C++,那么推薦使用潘嘉杰的《易學(xué)C++》。這本書(shū)是2008年出的新書(shū),聽(tīng)說(shuō)是個(gè)學(xué)生在讀書(shū)的時(shí)候?qū)懙?。這本書(shū)網(wǎng)上有下載免費(fèi)的電子版。這本書(shū)主要就是針對(duì)初學(xué)者的,講得也比較生動(dòng)有趣,比較提得起學(xué)習(xí)的興趣。所以沒(méi)有基礎(chǔ)的初學(xué)者選這本書(shū)也是不錯(cuò)的,就是想要很快成為高手,可能看這
31、本書(shū)還不夠。 </p><p> 至于看完入門(mén)的書(shū)之后,就應(yīng)該看一些高層次的書(shū)了。比如The C++ Programming Language和C++ Primer,同時(shí)也可以向STL、MFC、API等各個(gè)方向發(fā)展。如果對(duì)別的語(yǔ)言感興趣,還能去看看C#和Java,它們和C++從語(yǔ)法和很多概念上都是類(lèi)似的。</p><p><b> C++設(shè)計(jì)原則</b></
32、p><p> · C++設(shè)計(jì)成靜態(tài)類(lèi)型、和C同樣高效且可移植的多用途程序設(shè)計(jì)語(yǔ)言。 </p><p> · C++設(shè)計(jì)成直接的和廣泛的支援多種程序設(shè)計(jì)風(fēng)格(程序化程序設(shè)計(jì)、資料抽象化、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì))。 </p><p> · C++設(shè)計(jì)成給程序設(shè)計(jì)者更多的選擇,即使可能導(dǎo)致程序設(shè)計(jì)者選擇錯(cuò)誤。 </p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外文翻譯---visual c++程序設(shè)計(jì)
- visual c++程序設(shè)計(jì)外文翻譯
- 外文翻譯---visual c++程序設(shè)計(jì)
- c++程序設(shè)計(jì)
- c++程序設(shè)計(jì)
- 《程序設(shè)計(jì)基礎(chǔ)c++》
- c++程序設(shè)計(jì)教程
- [工學(xué)]c++程序設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)與c++
- c c++程序設(shè)計(jì)課后答案
- c++程序設(shè)計(jì)復(fù)習(xí)筆記
- c++課程設(shè)計(jì)--c++程序設(shè)計(jì)語(yǔ)言
- c++課程設(shè)計(jì)-- c++面向?qū)ο蟪绦蛟O(shè)計(jì)
- c++程序設(shè)計(jì)考試系統(tǒng)
- c++程序設(shè)計(jì)考試系統(tǒng)
- c++程序設(shè)計(jì)模擬試題
- c++程序設(shè)計(jì)-實(shí)踐報(bào)告
- c++簡(jiǎn)單程序設(shè)計(jì)
- c++語(yǔ)言程序設(shè)計(jì)試題
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)
評(píng)論
0/150
提交評(píng)論