STL/CLR, Compiler and Marshaling

來源:互聯網
上載者:User

MSDN第9頻道又採訪了Visual C++類庫組的專案經理Nikola Dudar和Sarita Bafna,以及品質控制組的Marina Polishchuk。儘管Visual C++項目組已經轉移了工作重點,但是很少人注意到這一點。或許這些採訪可以協助你瞭解Visual C++項目組的工作。

為什麼C++仍舊重要?

  • 非託管的應用程式有很大的代碼積累,而這些程式的升級工作仍舊在進行
  • 效能是選擇C++的重要因素。舉例來說,遊戲和殺毒程式更適合用Unmanaged 程式碼來編寫。
  • 多平台支援。雖然.Net號稱是跨平台的,但是如果要編寫真正的跨平台程式,開發的時候遵循C++標準還是很有必要的。

為什麼C++程式員仍舊重要?

  • C++程式員理解整個機器的運作,他們知道怎麼寫垃圾收集機制,甚至可以寫機器代碼
  • C++程式員可以很容易的學會其他語言——C++已經是最難學的語言之一了
  • C++程式員並不只使用一種語言。如果有必要的話,他們會選擇彙編、C#或者Perl這樣更適合特定任務的語言。

為什麼Visual C++項目組轉移了工作重點?

  • C++程式員對於轉到C#沒有抵觸心理,所以Visual C++項目組不認為有必要儘快實現Visual C#支援的所有特性,比如LINQ和WPF設計器
  • C++程式員對於讓他們的非託管程式調用其他語言的Managed 程式碼比用C++來寫Managed 程式碼更有興趣
  • 核心模組,例如IE和Windows外殼會更加頻繁地更新,而會有更多的Unmanaged 程式碼需要調用這些新的特性,為了這些特性,有必要在MFC中引入新的封裝類來節省C++程式員的時間

Orcas中Visual C++的新特性:

  • Managed 程式碼互操作庫。可擴充的管理的資料類型和非管理的資料類型的轉換支援
  • STL/CLR。使得Managed 程式碼可以利用舊的STL編寫的演算法
  • Vista支援。對Vista中新的通用控制項和檔案對話方塊等介面元素的MFC封裝。
  • DevExpess重構引擎——將包含DevExpess的Refactor! for C++。

Orcas之後的考慮

  • 更新介面。有些Visual C++的代碼是針對20年之前的硬體環境設計的,已經不適合現在的需要。新的Phoenix編譯引擎使得重寫前台變得更加容易。
  • 太多現有的代碼需要重構。新的Phoenix編譯引擎使得程式碼分析變得更加容易。
  • C++標準。新的C++標準TR1可能會在Orcas下一版本開發時成為正式標準。
  • 多核支援。需要編寫可以充分利用多CPU的代碼。第一個嘗試是LINQ。

結論

  • MFC和Unmanaged 程式碼回來了
  • 效能和多平台支援的重要性越來越低,Managed 程式碼仍舊具有很大的市場。

Visual C++項目組的其他動作

  • ATL Server發布到了原始碼共用網站CodePlex。這包含CAtlRegExp,在.Net和第三方類庫(boost,TR1)的競爭下已經不再有必要維護一個單獨的條件運算式標準了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.