Podpora knihovny pro smíšená sestavení
Visual C++ podporuje Standard C++ Library RunTime společné knihovny (CRT) ATL, a kompilován MFC pro aplikace s /CLR (kompilace společné Language Runtime).To umožňuje existujícím aplikacím, které používají tyto knihovny, použít také funkcí rozhraní .NET Framework.
Tato podpora představuje následující nové knihovny DLL a knihovny importu:
Msvcmrt[d].lib pokud kompilujete s /clr.Smíšené sestavení odkazující na tuto knihovnu importu.
Msvcm90[d].dll a Msvcurt[d].lib, pokud kompilujete s /clr:pure.Knihovna DLL je kombinované sestavení poskytující podporu spravované knihovně CRT a je součástí spravovaného sestavení nainstalované v globální mezipaměti sestavení (global assembly cache (GAC)).Čisté sestavení odkazuje na tuto knihovnu importu a skončí vázán na Msvcm90.dll.
Tato podpora poskytuje několik souvisejících výhod:
Knihovna CRT a standardní knihovna C++ jsou k dispozici pro smíšený i čistý kód.Knihovna CRT a standardní knihovna C++ nejsou ověřitelné, nakonec jsou vaše volání stále směrovány do stejné knihovny CRT a standardní knihovny C++ jako když je používáte z nativního kódu.
Správné jednotné ošetření vyjímek v čistých a smíšených bitových kopiích.
Statická inicializace proměnných jazyka C++ v čistých a smíšených bitových kopiích.
Podpora pro proměnné na AppDomain a na proces ve spravovaném kódu.
Řeší problémy uzamknoutí zavaděče použitého pro smíšené knihovny DLL ve Visual C++ .NET a Visual C++ .NET 2003.
Kromě toho tato podpora představuje následující omezení:
Je podporován pouze model knihovny DLL CRT (pro kód kompilován pomocí /clr i /clr:pure).
Nelze kombinovat čisté a smíšené objekty v jedné bitové kopii pokud tyto objekty používají knihovny Visual C++ (protože všechny objekty musí být čisté v čisté bitové kopii).Pokud tak učiníte, zobrazí se chyby v době propojení.
Je třeba aktualizovat váš modul CLR na aktuální verzi, protože není zaručen běh s dřívějšími verzemi.Kód sestavený pomocí těchto změn se nespustí ve verzi CLR 1.x.