x64 - visual c++ 2013




Visual C++ 6.0和Visual C++ 2008有什麼區別? (10)

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

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

有沒有什麼理由可以選擇比舊的更新?


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

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


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


Visual Studio 2008與Visual C ++ 6.0的優點:

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

轉移到Visual Studio 2008的缺點:

  • IDE比VS6慢很多
  • 智能感應仍然存在性能問題(用VisualAssistX替代它可以提供幫助)
  • 並排組件使應用程序部署更成問題
  • 本地(離線)MSDN庫非常慢
  • 如上所述,專業版本中沒有配置文件

本著Joel最近的博客文章的精神,我把其他一些答案結合在一個單一的答案(並使之成為一個社區所有的職位,所以我不會從中獲得代表)。 我希望你不介意。 非常感謝Laur,NeARAZ,26歲的26歲,me.yahoo.com和其他所有回答。 - ChrisN


你知道MS VC6的STL實現不是線程安全的嗎? 特別是,即使在使用多線程庫進行編譯時,basic_string中的引用計數優化也會爆炸。 http://support.microsoft.com/kb/813810


從6.0到2008將會看到的快速改進列表:

  • 許多錯誤修復
  • 更好地符合C ++標準
  • 更好的編譯器優化
  • 改進的用戶界面(更好的智能感知等)

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


從VC6開始,Visual Studio的大部分重點都放在了C#和.NET以及其他功能上,所以一些C ++老前輩把VC6看作是美好的過去。 從那時起,Visual Studio for C ++開發人員的工作得到了改進,但是並沒有.NET用戶那麼大。

VS2008比VC6更好的一個方法就是可以並行構建C ++項目。 即使在單個CPU系統上,這也可以顯著加快構建速度,但特別是在有多個內核的情況下。


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

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


與2008年相比,Visual C ++ 6的時間可能非常有限。有些東西尤其如此:

  • 可憐的模板支持/怪異(例如sometemplate<othertemplate<t>>模板sometemplate<othertemplate<t>>不工作,但sometemplate< othertemplate<t> >工作)
  • 不符合標準
  • 資源編輯器是垃圾(“藍線”似乎隨機移動,除其他外)
  • 只支持編輯某些類型的8位位圖(我必須使用imagemagick轉換保存在paint.net中的位圖才能在圖片資源中看到)
  • 使用只讀文件/奇怪的sourcesafe集成的可怕支持。

有時在VS6中開發感覺就像試圖讓網站在Internet Explorer 5.5中看起來不錯


關於我的頭頂,新Visual Studio的優點是:

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

缺點:

  • IDE看起來比較慢
  • 智能感應仍然存在性能問題(用VisualAssistX替代它可以提供幫助)
  • 運行時不普遍可用
  • 源代碼控制集成達不到標準(儘管公平,VC6完全沒有這個功能)

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

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





vc6