Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Blandade sammansättningar kan innehålla både ohanterade datorinstruktioner och MSIL-instruktioner. På så sätt kan de anropa och anropas av .NET-komponenter, samtidigt som de behåller kompatibiliteten med interna C++-bibliotek. Med hjälp av blandade sammansättningar kan utvecklare skapa program med hjälp av en blandning av .NET och inbyggd C++-kod.
Ett befintligt bibliotek som helt består av inbyggd C++-kod kan till exempel överföras till .NET-plattformen genom att bara kompilera om en modul med växeln /clr compiler. Den här modulen kan sedan använda .NET-funktioner, men förblir kompatibel med resten av programmet. Det går till och med att välja mellan hanterad och intern kompilering baserat på funktion efter funktion i samma fil (se hanterad, ohanterad).
Visual C++ stöder endast generering av blandade hanterade sammansättningar med hjälp av kompilatoralternativet /clr . Alternativen /clr:pure och /clr:safe compiler är inaktuella i Visual Studio 2015 och stöds inte i Visual Studio 2017. Om du behöver rena eller verifierbara hanterade sammansättningar rekommenderar vi att du skapar dem med hjälp av C#.
Tidigare versioner av Microsoft C++-kompileringsverktygen stödde genereringen av tre olika typer av hanterade sammansättningar: blandade, rena och verifierbara. De två sistnämnda beskrivs i Pure and Verifiable Code (C++/CLI).
I det här avsnittet
Gör så här: Migrera till /clr
Beskriver de rekommenderade stegen för att antingen introducera eller uppgradera .NET-funktioner i ditt program.
Gör så här: Kompilera MFC- och ATL-kod med hjälp av /clr
Beskriver hur du kompilerar befintliga MFC- och ATL-program för att rikta in sig på Common Language Runtime.
Initiering av blandade sammansättningar
Beskriver problemet med "lastningslåset" och lösningarna.
Biblioteksstöd för blandade sammansättningar
Beskriver hur du använder interna bibliotek i /clr-kompileringar .
prestandaöverväganden
Beskriver prestandakonsekvenserna av blandade sammansättningar och datamarsering.
Programdomäner och Visual C++
Diskuterar Visual C++-stöd för programdomäner.
Dubbel Thunking
Diskuterar prestandakonsekvenserna av en intern startpunkt för en hanterad funktion.
Att undvika undantag vid CLR-avstängning när du använder COM-objekt som skapats med /clr
Beskriver hur du säkerställer en korrekt avstängning av ett hanterat program som använder ett COM-objekt som kompilerats med /clr.
Anvisningar: Skapa ett delvis betrott program genom att ta bort beroendet av CRT-biblioteks-DLL:en
Beskriver hur du skapar ett delvis betrott Common Language Runtime-program med hjälp av Visual C++ genom att ta bort beroendet av msvcm90.dll.
Mer information om kodningsriktlinjer för blandade sammansättningar finns i En översikt över hanterad/ohanterad kodkompatibilitet.