VC6 or VC7,讓轉變不再迷茫

放假回來,去CSDN上一轉,第一次發現了VC.NET版,因爲我以前一直是不瞄.NET社區的(不是狂妄,是不懂),在上面看到一篇問對於VC.NET的種種顧慮的文章,突然想起在學校的BBS上也有人問類似的問題,突然想說兩句。於是起了一個很狂的題目,說點鄙人的見解,希望對後來者有幫助。

那位老兄的問題中有一個是關於有VC6到VS.NET的轉移的顧慮,這種顧慮我以前也是有的,例如我暫時不想學.NET,那麼VC.NET是不是可以便以我的C++程序呢?如果學習VC.NET,是不是一定要學.NET呢?很多人就是在.NET的龐大面前失去了轉變的信心,仍然使用着VC6,仍然受着使用STL時成百上千個warning的困擾,VC6轉向VC7,真的這麼難嗎?

你也許看到了,我沒有像大多數人那樣使用VC.NET這個名稱,而是使用的VC7,雖然MS是這樣稱呼的,因爲我覺得這樣稱有歧義,也許我應當先澄清幾個概念:

.NET是微軟提供的一個Framework,對於這個Framework的特徵等等,我不敢多說,精通.NET的大蝦們可以告訴我。
VS.NET即Visual Studio.NET,是MS提供的一個IDE,在其中可以編輯C++、C#、Basic等語言的源程序和編譯,其實其中的
.NET好像一個表示,並不一定是一定要使用.NET。
C++是一門語言,你可以用BCB寫,可以用VC6的IDE寫,可以用VS.NET寫,甚至可以用記事本寫,這些都沒有關係,因爲它
只是一門語言,而上面說的都是工具。
VC7是VS.NET附帶的C++的編譯器(我先這樣稱呼,沒有任何官方這麼說),是VC6編譯器的升級版本——當然它可以編譯
帶有.NET託管代碼的C++源程序,那是另一回事——支持C++的標尊並帶有MS提供的功能強大的古老的Windows的Framework MFC。
VC.NET是使用了.NET Framework的C++,是C++的一個變種,是MS對C++的一種擴充,出現了#using,__gc,__property等新的
關鍵字,使C++可以使用.NET Framework;也可以理解成是一個編譯器,是把C++編譯出的二進制文件架構在.NET Framework上的一個特定的C++編譯器。
還有一個就是我們對於VC6的稱呼,VC6是一個IDE是不是?是的。VC6是一個編譯器是不是?也是的。VC6是C++的一個帶有MFC類庫的版本,是不是?也可以這樣認爲。

所以你明白我爲什麼使用VC7而不使用VC.NET了?

這樣來看,我們可以從幾個層次上理解VC6到VC7的轉變,這幾層層層遞進:

IDE和與C++語言嚴格程度(或者說編譯器)層面上:這個轉變應當說是VC6到VS.NET的轉變,僅僅是如何適應新的IDE和一些細微的編譯區別,不應該有任何的難度。
MFC層面上:這個轉變其實也沒有很大的障礙,由於MFC的向下兼容性,這一層面的障礙僅僅是上一層面的細微的編譯器差別引起的小小改動和對MFC與IDE的集成方式的適應,例如ClassWizard的消失等等,這些仍然很容易解決。
平臺層面:這個轉變就是大家最擔心的了,由於在VC6下只有一個Framework可以使用,就是MFC(或者你認爲ATL也是一個Framework),或者你就要用SDK裸調API,其實他們最終還是Win32的平臺;但是在VS.NET開發環境下,可以使用SDK,可以用MFC,最重要的是可以使用一個新的平臺就是.NET Framework。如果你決定從Win32轉變到.NET Framework,那麼無疑這將是一個浩大的工程,可能這是大家望而卻步的原因。

那麼,你擔心的是哪個層次?

從我在CSDN和BBS上看到的情況來看,很多人不清楚這三層轉變的區別,於是想着進行前兩個層面的轉變卻被第三層面嚇倒,進而談.NET色變,對.NET望而卻步,守着VC6繼續做這一切。

其實這也怪不得他們,沒有用過VS.NET怎麼也不可能明白它與VC6IDE的差別的,所以不如今天用我的精力把它挑明,免得再有人受苦 ^_^。

說這麼多,其實就是一個意思,不要以爲名字帶個.NET就是.NET,使用Visual Studio .NET一樣可以寫出驅動程序,一樣可以像你在VC6下面那樣寫C++程序,用STL庫(而且.NET對STL的支持更好啊),一樣可以用你的MFC,一樣可以寫出你想寫的東西……一切只要一個前提,只要你不用#using,只要不用類似__gc,__property等VC7擴展的.NET關鍵字,那麼寫出的程序與.NET沒有任何的關係,管它什麼.NET。

既然我們使用VC6轉向VS.NET的顧慮在.NET框架上,而一旦將VC7和.NET框架獨立開來看,還有什麼顧慮呢?這個轉向本該和VC5轉向VC6一樣自然的,都怪微軟,大肆宣傳.NET,導致.NET濫用,到處都是這個東西,於是大家無所適從……

更何況VS.NET擁有比VC6更強大和好用的IDE,試試在VS.NET如何下斷點,看看VS.NET的類視圖,大膽的裝上VS.NET,安裝時只留下Visual C++,400M硬盤而已,然後鼠標動動,就可以把它的界面打造的和你熟悉的界面一樣,然後跑上一杯茶,enjoy the new IDE and enjoy the new compiler!

//在下一介書生,第一次在自己的Blog上寫這麼多的字,不敢認爲自己是大蝦,但是實在不願看到有人迷茫。
//其實我也沒有用太長時間的VS.NET,如有錯誤,請指出並多多包涵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章