Visual C++ 2005中的突破性變化

Microsoft Visual C++ 2005是微軟公司Visual Studio 2005開發套件中的一出重頭戲,與前一個版本相比,其革新性的集成開發環境與C++編譯器,帶來了有許多改變。在本文中,主要講解程序員在升級程序時,可能會遇到的一些不同之處及變化,而這些變化很可能會使老一點的程序不能通過編譯。總之,這些變化絕不是偶然發生的,其背後都有強大的理論依據在支撐,所以,使用Visual C++的程序員,在升級之前,一定要弄清楚這些變化。

  Visual C++中已經發生的變化

  微軟Visual C++工作小組在對其產品作出修改之前,已經過充分的考慮,同時也顧及到了這些改變會對以前的代碼造成的影響,雖然如此,但有以下理由支持在新版本中作出的這些改變:

  Visual C++ 2005其中一個最重要之處,就是更加遵循ISO C++標準,可更好地跨平臺移植代碼,或集成進其他工具中,如聲明在for循環中的變量生命期及變量類型現在也遵循C++標準了;而且,在默認設置中,就是遵循ISO C++標準的。正是因爲此,在一些老代碼中,過去可行的一些方法,現在可能要作出必要的修改,才能通過編譯了。

  在這幾年中,安全性是一個熱門的話題,而且在將來也會得來越來越多的重視。C++語言賦於了程序員無所不能的能力,但凡事總有兩面性;爲減少代碼中的安全問題,也爲減少代碼中錯誤產生的可能性,Visual C++ 2005作出了一系列的改變,首先,引入了安全CRT及不推薦使用的非安全API等概念,而且在默認狀態下,Visual C++ 2005也會進行代碼安全檢查。

  Visual C++ 2005增強了適用性,這也使得可更方便地升級本身的二進制代碼成爲可能,而且,也更加容易進行產品的漏洞修補。

  可維護性也是一個促進Visual C++變化的原因之一,例如,低價值的功能已經從產品中消失,以減少在將來維護它們的可能性。一個例子就是,Visual Studio 2005中已經移除了單線程CRT,因爲已經不再需要它了,以前爲維護單線程CRT所花費的時間,現在可以用在更重要的事情上了。

  最後,其中的某些變化,是爲了增強Visual C++編譯器的可靠性,爲達此目的,微軟公司此次保證了Visual C++中有明確定義並一致的行爲。

  當然,也要避免某些變化,此次Visual C++的大多數變化都是在代碼安全層面上,如果這些變化向後影響到二進制代碼的兼容性,那麼就會盡量避免,因爲源代碼兼容性總是在二進制代碼兼容性之前被發現的。另外,如果某些變化致使人們不想採用或升級到2005版,那麼這種變化也要避免,因爲這會導致軟件項目的總成本增加。最後,編寫代碼方式的改變也要在成本上證明是值得的,否則,就沒有必要去實現它了。

共3頁。 1 2 3  
發佈了225 篇原創文章 · 獲贊 5 · 訪問量 41萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章