混合組件的程式庫支援
Visual C++支援使用 C++ 標準連結庫、C 執行時間連結庫 (CRT)、ATL 和 MFC,以搭配 /clr 編譯的應用程式使用 (Common Language Runtime Compile) 。 這可讓使用這些連結庫的現有應用程式也使用 .NET Framework 功能。
重要
Visual Studio 2015 中已淘汰 /clr:pure 和 /clr:safe 編譯程序選項,且 Visual Studio 2017 不支援。
此支援包含下列 DLL 和匯入連結庫:
- 如果您使用 /clr 編譯,則 Msvcmrt[d].lib。 混合元件連結至此匯入連結庫。
此支援提供數個相關優點:
CRT 和 C++ 標準連結庫可供混合程式代碼使用。 提供的CRT和C++標準連結庫無法驗證;最後,您的呼叫仍會路由傳送至相同的CRT,並C++標準連結庫,如同使用原生程式代碼一樣。
更正混合映像中的統一例外狀況處理。
混合影像中C++變數的靜態初始化。
支援 Managed 程式代碼中的個別 AppDomain 和個別進程變數。
解決套用至 Visual Studio 2003 和更早版本中編譯之混合 DLL 的載入器鎖定問題。
此外,此支援提供下列限制:
- 使用 /clr 編譯的程序代碼僅支援CRT DLL模型。 沒有支援 /clr 組建的靜態 CRT 連結庫。