2008-09-15 49 views
9

MS VS C++ 6.0和MSVS C++ 2008之間有什麼優點/缺點?Visual C++ 6.0和Visual C++ 2008有什麼區別?

問這樣一個問題的主要原因是,仍然有許多像樣的程序員更喜歡使用舊版本而不是最新版本。

是否有任何理由可能會選擇比舊的更新?

回答

4

嗯,一方面可能是因爲使用MSVS 6構建的可執行文件只需要現在隨Windows提供的msvcrt.dll(C運行時)。

MSVS 2008可執行文件需要msvcrt9隨附(或已安裝)。

另外,你已經有很多OSS庫已經爲Windows 32位編譯了6.0 C運行庫,而對於2008 C運行庫,你必須自己編譯源代碼並編譯它們。

(其中大多數庫實際上是用MinGW編譯的,它們也使用6.0 C運行時 - 也許這是另一個原因)。

+2

您可以靜態鏈接VCRT並沒有任何相關性。 – 2009-03-09 12:28:24

0

Visual C++ 2008更符合標準(Visual Studio 6不支持1998年設置的C++標準)。

0

VS2008有更好的編譯器(符合更多的標準,更好的優化,...)。

VS6有更快的IDE。 VS2008 IDE有很多不錯的功能,但比VS6低了很多。

0

的改進,你會繼續看到從6.0到2008年快速列表:

  • 許多bug修復
  • 更好地符合C++標準
  • 更好的編譯器優化
  • 改進的UI(更好的智能感知等等)

有時候人們會忘記的一件事是VS 6.0已經超過10歲了!在這一點上,我不明白有誰會想要堅持下去。

+0

VC++ 6的代碼在VC++ 2005中編譯並不是很確定。爲了讓我的代碼正常工作,我花了一個下午的時間進行調整。如果代碼基數很大,那麼製作開關可能會非常困難。有時候,你認識的魔鬼更好! – 2009-03-09 20:51:22

27

Visual Studio 2008與Visual C++的優點6。0:

  • 更符合標準的C++編譯器,具有更好的模板處理
  • 支持X64 /移動/ XBOX目標
  • 改進STL實現
  • 支持的C++ 0x TR1(智能指針,正則表達式等)
  • 安全C運行時庫
  • 改進代碼導航
  • 改進的調試器;可能運行遠程調試會話
  • 更好的編譯器優化
  • 許多bug修復
  • 更快的構建多核/多CPU系統
  • 改進IDE的用戶界面,有許多不錯的功能
  • 改進宏支持在IDE中; DTE可以訪問更多的IDE方法和變量
  • 更新MFC庫(在VS2008的Service Pack 1)對於OpenMP(易多線程)
  • 支持(只在VS2008親。)

缺點轉移到視覺的Studio 2008中:

  • 的IDE比VS6慢了許多
  • 智能感知仍然有性能問題(與VisualAssistX取代它可以幫助)
  • 並排端組件使應用程序的部署更成問題
  • 本地(脫機)MSDN庫是極其緩慢
  • 如前所述here,有一個在專業版

在任何分析器Joel最近的blog post的精神,我把其他一些答案結合在一個單一的答案中(並且這是一個社區所有的帖子,所以我不會從中獲得代表)。我希望你不介意。非常感謝Laur,NeARAZ,26歲的26歲,me.yahoo.com和其他所有回答。 - ChrisN

+1

VS6 ClassWizard與自定義類型和驗證一起使用時,生成對話框的速度遠遠超過以後的VS實現。我仍然將它用作代碼生成器,並返回VS2005進行發佈。 – 2008-10-14 06:44:47

2

除了上面提到的部署,MSVC 6.0的主要優點是速度。因爲它是一個10年的IDE,它在現代計算機上感覺非常快。較新版本的Visual Studio提供了更高級的功能,但它們的代價是(複雜性和速度較慢)。

但是,MSVC 6.0最大的缺點是其不兼容的C++編譯器和庫。如果你打算做嚴重的C++ - 編程這是一個表演停止。如果你只生成MFC應用程序,它可能不是什麼大問題。

0

我們遇到的一件難事就是「價值」成了關鍵詞。

1

Visual C++ 6.0與內存跟蹤工具(例如Purify,HeapAgent,BoundsChecker和MemCheck)完全整合,因爲這些內存跟蹤工具在Visual C++ 6.0推出後積極維護並大量銷售。但是,由於C++已經流行了一段時間,銷售內存跟蹤工具的公司仍然銷售它們,但從不更新它們或將它們與新的Visual C++版本(包括Visual Studio 2008)集成。因此,使用內存跟蹤工具與Visual Studio 2008令人沮喪,errorprone,在某些情況下,是不可能的。

4

我想補充一點,使用Visual C++ 2008開發的應用程序必須比使用Visual C++ 6.0開發的應用程序需要更多的DLL。這只是默認的項目配置。

如果你進入你的項目屬性,C/C++,代碼生成,然後從多線程DLL和多線程調試DLL(發佈和調試配置)更改運行時庫多線程多線程調試,您的應用程序應該擁有更少的依賴關係。

+0

+1,我認爲這可能是有用的信息.. – krebstar 2009-01-21 06:16:39

3

了我的頭頂部,新的Visual Studio的優點是:

  • 更嚴格地遵守標準的x64 /移動/ XBOX
  • 支持 目標
  • 更好的編譯器優化
  • (way)更好的模板處理
  • 改進的調試器;可能性爲 運行遠程調試會話
  • 改進的IDE
  • 改進的宏支持; DTE可以訪問更多的IDE方法和變量

缺點:

  • IDE似乎慢
  • 智能感知仍然有性能 問題(與 取代它VisualAssistX可以幫助)
  • 運行時並不普遍可用
  • 源代碼管理集成不高達 par(儘管公平性VC6 完全沒有這個功能)
1

因爲VC6大部分的Visual Studio重點已經在C#和.NET,以及其他功能,所以一些C++老前輩看到VC6作爲好日子。自那時起,Visual Studio for C++開發人員的工作得到了改進,但並沒有.NET用戶那麼大。

VS2008顯着優於VC6的一種方式是它可以並行構建C++項目。即使在單個CPU系統上,這也可以顯着加快構建速度,但是如果您有多個內核,則尤其如此。

0

與2008年相比,Visual C++ 6的時間可能非常有限。特別是有些事情:

  • 可憐的模板支撐/詭異(例如sometemplate<othertemplate<t>>沒有工作,但sometemplate< othertemplate<t>>工作)
  • 不符合標準
  • 資源編輯器是垃圾(「藍線」似乎走動隨機等)
  • 僅支持編輯某些種類的8位位圖(我必須使用imagemagick轉換保存在paint.net中的位圖,才能在圖片資源中看到)
  • 對工作的支持很差只讀fi les/quirky sourcesafe整合。

在VS6發展有時感覺就像試圖讓網站尋找在Internet Explorer 5.5好

1

如果您安裝VS6所有服務​​包你仍然有一個堅實的IDE /編譯器組合。作爲一個軟件開發人員,他們必須在互聯網上狂放地發佈產品,我不想每次都發布VC++運行時和.NET框架(我不能直接將它們捆綁到我的安裝程序/可執行文件中,它被Microsoft禁止)。你知道,運行幾千兆字節來運行千字節的代碼有點愚蠢。 VC++ 6.0最好只需要你的可執行文件和2個.DLL文件。

此外,調試運行時不能用VC++ .NET分佈,不是真的很好,當我有一個客戶端,它需要做我的產品:)

有一個在我看來的一些調試的重要原因,爲什麼我仍然使用VC++ 6.0,但IDE本身很醜陋(即:沒有Tab鍵支持)。我通常使用的代碼塊,而不是繞過IDE限制(代碼塊支持CL.EXE/LINK.EXE所有VC++版本)

Cobolfoo

相關問題