Zestawy mieszane (natywne i zarządzane)

Zestawy mieszane mogą zawierać zarówno niezarządzane instrukcje maszynowe, jak i instrukcje MSIL. Umożliwia to wywoływanie i wywoływanie przez składniki platformy .NET przy zachowaniu zgodności z natywnymi bibliotekami języka C++. Korzystając z zestawów mieszanych, deweloperzy mogą tworzyć aplikacje przy użyciu kombinacji kodu .NET i natywnego języka C++.

Na przykład istniejąca biblioteka składająca się całkowicie z natywnego kodu C++ może zostać przeniesiona na platformę .NET przez ponowne skompilowanie tylko jednego modułu za pomocą przełącznika kompilatora /clr . Moduł ten będzie potem w stanie korzystać z funkcji .NET, ale pozostaje zgodny z pozostałą częścią aplikacji. Istnieje nawet możliwość decydowania między kompilacją zarządzaną i natywną na podstawie funkcji w tym samym pliku (zobacz zarządzanie, niezarządzane).

Program Visual C++ obsługuje tylko generowanie mieszanych zestawów zarządzanych przy użyciu opcji kompilatora /clr . Opcje kompilatora /clr:pure i /clr:safe są przestarzałe w programie Visual Studio 2015 i nieobsługiwane w programie Visual Studio 2017. Jeśli potrzebujesz czystych lub weryfikowalnych zarządzanych zestawów, zalecamy ich utworzenie przy użyciu języka C#.

Wcześniejsze wersje zestawu narzędzi kompilatora języka Microsoft C++ obsługiwały generowanie trzech różnych typów zarządzanych zestawów: mieszanych, czystych i weryfikowalnych. Dwa ostatnie opisano w kodzie Pure i Verifiable Code (C++/CLI).

W tej sekcji

Instrukcje: migrowanie do /clr
W tym artykule opisano zalecane kroki do wprowadzenia lub uaktualnienia funkcjonalności .NET w aplikacji.

Instrukcje: kompilowanie kodu MFC i ATL przy użyciu /clr
W tym artykule omówiono sposób kompilowania istniejących programów MFC i ATL do elementu docelowego środowiska uruchomieniowego języka wspólnego.

Inicjowanie zestawów mieszanych
W tym artykule opisano problem „blokady modułu ładującego” i jego rozwiązania.

Obsługa bibliotek dla zestawów mieszanych
Omówienie sposobu używania bibliotek natywnych w kompilacjach /clr .

Zagadnienia dotyczące wydajności
W tym artykule opisano wpływ zestawów mieszanych i przekazywania danych na wydajność.

Domeny aplikacji i program Visual C++
W tym artykule omówiono obsługę języka Visual C++ dla domen aplikacji.

Podwójne thunking
W tym artykule omówiono wpływ natywnego punktu wejścia dla funkcji zarządzanych na wydajność.

Unikanie wyjątków podczas zamykania środowiska CLR podczas korzystania z obiektów COM skompilowanych za pomocą /clr
W tym artykule omówiono sposób zapewnienia prawidłowego zamknięcia aplikacji zarządzanej, która korzysta z obiektu COM skompilowanego za pomocą polecenia /clr.

Instrukcje: tworzenie aplikacji częściowo zaufanej przez usunięcie zależności od biblioteki DLL środowiska CRT
W tym artykule omówiono sposób tworzenia częściowo zaufanej aplikacji środowiska uruchomieniowego języka wspólnego przy użyciu języka Visual C++, usuwając zależność od biblioteki msvcm90.dll.

Aby uzyskać więcej informacji na temat wytycznych dotyczących kodowania dla zestawów mieszanych, zobacz Omówienie współdziałania kodu zarządzanego/niezarządzanego.

Zobacz też