Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Variabel: det globala objektet per process kanske inte fungerar korrekt med flera appdomäner. överväg att använda __declspec(appdomain)
Anmärkningar
En virtuell funktion med __clrcall anropskonvention i en inbyggd typ orsakar skapandet av en vtable per programdomän. En sådan variabel kanske inte korrigeras korrekt när den används i flera programdomäner.
Du kan lösa den här varningen genom att uttryckligen markera variabeln __declspec(appdomain). I versioner av Visual Studio före Visual Studio 2017 kan du lösa den här varningen genom att kompilera med /clr:pure, vilket gör globala variabler per appdomän som standard. Kompileringsalternativet /clr:pure är inaktuellt i Visual Studio 2015 och stöds inte i Visual Studio 2017.
Mer information finns i appdomäner och programdomäner och Visual C++.
Example
I följande exempel genereras C4398.
// C4398.cpp
// compile with: /clr /W3 /c
struct S {
virtual void f( System::String ^ ); // String^ parameter makes function __clrcall
};
S glob_s; // C4398
__declspec(appdomain) S glob_s2; // OK