我還在上學的時候,我選擇了C++,最初我用VC6作為我的IDE,我看過很多本C++的教材,有的適合我,有的不適合我,其中有一本叫《VisualC++2005入門經典》的書幫了我不少的忙。因為通常的C++教材都只會介紹C++的語法什么的,很少會告訴我們如何去編譯、運行,告訴我們什么是控制臺程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的區別是什么。現在有很多的朋友應該也有這些問題吧?
學C++用C++也有幾年了,算不上熟悉,算是初窺門徑吧,我想我應該做點什么幫助一下那些和曾經的我一樣困惑的朋友, 特別是學生朋友, 告訴他們他們所困惑的問題的答案。記得我學C++的時候,沒有人教,有的時候也走了不少彎路,甚至連調試也不會,也不知道可以通過看調用堆棧看調用次序, 還自己慢慢的去搜索,好傻啊。
接下來我會做一個《VisualC++2010入門教程》系列,用來幫助初學者。剛開始學的時候是很痛苦的,這個我深有體會,特別是身邊還沒有人能夠指導一二的。內容主要涵蓋在Windows下面使用C++進行開發的常見內容,VisualStudio2010的使用,如何創建新項目,如何調試,如果配置項目屬性等等,另外還會介紹VisualC++2010中新加入的一些內容,包括一些新的STL組建,一些新的語法支持等等 。
由于本人水平有限,其中難免有錯誤,希望大家諒解,如果大家有發現問題還請務必及時指出來,否則誤導了他人我就罪不容恕了。
注意,本教程非 C++教程,不會教你C++,只會教你如何使用 Visual C++ 2010 去練習去學習其它 C++教材上面的程序。因此建議大家認真的去看其他的 C++教程,在使用 Visual C++ 2010 實踐的時候如果遇到問題可以到這里來參考。推薦《C++Primer》、《C++程序設計語言》《Visual C++ 2008入門經典》。
第一章: 關于 Visual Studio、VC 和 C++的那些事
首先,這三個東西有什么區別呢?VC 和 C++是相同的嗎,有什么區別呢?我剛開始學 C++的時候也有這樣的問題,在這里我來替大家解釋一下他們到底是什么。
Visual Studio,我們一般都簡稱為 VS,VC 全稱是 Visual C++,C++就不用解釋了吧?Visual Studio 其實是微軟開發的一套工具集,它由各種各樣的工具組成,這就好像 Office 2007 是由 Word 2007、Excel 2007、Access2007 等等組成的一個道理。其中 Visual C++就是 Visual Studio 的一個重要的組成部分。Visual Studio 可以用于生成 Web 應用程序,也可以生成桌面應用程序,在 Visual Studio 下面,除了 VC,還有 Visual C#,Visual Basic,過去還有 Visual J#,現在還有 Visual F#等等組件工具,使用這些工具你可以使用 C++語言、C#語言或者 Basic 語言(微軟改進版)進行開發。這就好比桌上放著刀、叉、筷子,你可以用它們來吃飯,無論你用什么工具都可以,因為它們都是餐具的一種。
VC,全稱是 Visual C++,它只是一個工具而已。C++是一門和 C、Basic、C#、Java 一個概念的東西,它是一門語言,這個概念就同漢語、英語、法語之間的關系一樣。語言可以不同,他們有的復雜有的精簡,比如漢語,我個人認為這是這個星球上最復雜的語言;又比如電影《阿凡達》中外星人使用的語言,不過 100 多個單詞而已。當然,語言并沒有高低貴賤之分,而對語言掌握的好不好,說的好不好是有高下之別的。
一個語言都有哪些要素呢?語法就是其中一個重要的方面,比如你要對你所喜歡的人表達愛慕之情,那么你應該說“我愛你”,你不能說“你愛我”,因為這搞錯了主謂賓關系,因此我們通常都需要按照一定的規矩和原則表達才會讓別人正確理解我們真正的含義。在我們的漢語中有一些成語,它們通常都比較簡單短小,但是卻能表達非常強烈的感情,而且效果非常好。比如你想罵一個壞人“你實在是太變態了,這種事情都干得出來。”你可以這樣說:“你也太禽獸不如了!”對于編程的語言來說,其實也是有成語的,在我看來,這就是庫函數。通常我們在編程的時候都推薦選擇庫函數,因為它通常會比較快一些。
一直以來都有不少人混淆 Visual C++和 Visual Studio,其實最初Visual C++發布的時候還沒有 Visual Studio 這個東西,Visual C++是一個獨立的開發工具,與 Visual Basic 等并列,最后微軟將它們整合在一起組成了 VisualStudio。Visual C++從發布起到現在已經有 10 個大版本了,我們這里介紹的Visual C++ 2010 就是 Visual C++ 10,簡稱 VC10。上朔 10 多年,Visual C++ 6.0發布了,這個被稱為史上最經典的 VC,現在有很多企業還在用它,大量的教材基于這個版本的 VC 來寫的。然而實際上 VC6 并沒有想象中的那么美好,孱弱的IDE,不完善的 STL 等等讓它越來越不適應時代的發展,同時由于后來的版本和百度文庫它的差別越來越大,讓很多習慣于 VC6 教材的人在新版本上無所適從。VC6 走向歷史的終結點其實是必然的,只在于時間問題罷了,況且大部分人都有追求最新的“嗜好”,所以這里也選擇最新版的 VC 來做入門教程。
0.png (219.79 KB, 下載次數: 50)
下載附件
2018-8-28 14:36 上傳
第二章 安裝、配置和首次使用 VS2010
本章將幫助大家安裝 Visual C++ 2010,幫助大家做一些常見的配置,以及第一次使用它來寫 HelloWord 程序。
安裝
Visual C++ 2010 是屬于 Visual Studio 2010 的一部分,這個在前一章中已經講解過,實際上 Visual C++ 2010 也有更多的子版本,正如 Windows7 有旗艦版、家庭高級版、家庭初級版一樣。在上一章的下載地址中有兩個版本可以選擇,我選擇的時候旗艦版,這個功能最全面。
如果你下載完畢了,應該有一個 ISO 鏡像文件,如果你是從我給的地址下載的,那么那個序列號已經被 替換成正版序列號,直接安裝即可。下面是 ISO 文件截圖:
0.jpg (33.06 KB, 下載次數: 59)
下載附件
2018-8-28 14:38 上傳
以下內容來自節選:
0.jpg (49.89 KB, 下載次數: 75)
下載附件
2018-8-28 14:38 上傳
這時候我們會遇到編譯錯誤,為什么呢?因為我們還沒有 Main 函數,對于一個 C++項目來說,一定要有一個且僅有一個 main 函數(Windows 程序需要 WinMain,區別以后再講),可以是隱式提供也可以是顯式提供,至于區別以后會講到。現在讓我們記住這個錯誤,以后遇到這個錯誤的時候一定要想想,我們項目中是否有 Main 函數。注意這時候即使你托一個有 Main 函數的文件到 VC10 中進行編譯也是沒有意義的,因為那個文件并不是我們項目的一部分。
現在我們可以添加一個代碼文件進來了,這個代碼文件可以是已經存在的也可以是新建的,這里新建一個。右鍵單擊項目名稱,選擇添加,新建項:
0.jpg (67.1 KB, 下載次數: 65)
下載附件
2018-8-28 14:40 上傳
兩個選項卡,局部變量和自動變量,它們都負責顯示一些當前斷住狀態下的變量的值,注意,這些只有在程序中斷的時候才有意義。自動變量選項卡并非指 auto 變量,而是指 VS幫我們猜想我們可能感興趣的一些變量的值,或者函數返回值,而局部變量基本上就是本過程的一些變量的值了。
注意,這些選項卡不僅僅可以用于查看,甚至可以用于你臨時修改它們的值,方法就是雙擊值就可以了,如下圖所示:
0.jpg (49.16 KB, 下載次數: 53)
下載附件
2018-8-28 14:40 上傳
這里我檢查了當前語言字符串的設置。注意并非什么變量都可以檢視,必須是調試器可以為我們推斷出來的才行,即調試器知道它的地址是什么。如上圖所示有一個特殊的用法$err,hr 這個是 VS 特別的,它的意義相當于讓調試器幫你獲取 GetLastError 的值,這在Windows 編程的時候非常有用。
對于一些指針類型的變量我們還可以在監視里面對它做強制轉型,比如你的函數傳遞一個 void* p 進來,但是你知道這次你傳遞的是一個 Data 結構體的指針,而調試器是無法知道這個 p 指向的是 Data,所以你可以在監視中輸入(Data*)p。這樣調試器會自動幫我們把他當做 Data 結構體的指針來識別。
調用堆棧
調試過程中調用堆棧實在是太重要了,因為它指出了你的程序是正在處于什么狀態,是誰調用了誰:
當我們的程序失去響應的時候我們不妨嘗試點擊調試窗口上面的暫停按鈕:如果中斷(暫停)成功那么我們會看到死鎖或者死循環的調用堆棧了。
斷言(assert)
assert 大家應該很熟悉了吧,這是最直接提供錯誤信息的方法了。特別的,當我們在調試的時候,調試器會幫助我們定位到斷言觸發的地方。
暫時就想到這么多,如果您還有其它好 Case,一定不要忘了要同大家分享。
轉眼間畢業一年了,感觸良多。每當我情緒低落的時候,我就看蘇珊大媽的視頻,因為蘇珊大媽是我的偶像,因為她告訴我有夢想就一定要堅持,當你具備了成功的基礎的時候,夢想就會慢慢的實現。
完整的pdf格式文檔51黑下載地址(共73頁):
Microsoft_Visual_Studio_C _2010入門教程(修訂版).pdf
(7.36 MB, 下載次數: 43)
2018-8-28 10:46 上傳
點擊文件名下載附件
visual studio 下載積分: 黑幣 -5
|