混合組件的程式庫支援
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 程式庫。