Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"zmienna" : obiekt globalny procesu może nie działać poprawnie z wieloma domenami aplikacji; rozważ użycie __declspec (appdomain)
Uwagi
Funkcja wirtualna z __clrcall konwencją wywoływania w typie natywnym powoduje utworzenie tabeli wirtualnej dla domeny aplikacji. Taka zmienna może nie być poprawna poprawnie, jeśli jest używana w wielu domenach aplikacji.
To ostrzeżenie można rozwiązać, jawnie oznaczając zmienną __declspec(appdomain)
. W wersjach programu Visual Studio przed programem Visual Studio 2017 można rozwiązać to ostrzeżenie, kompilując element /clr:pure, co sprawia, że zmienne globalne na domenę aplikacji domyślnie. Opcja /clr:pure compiler jest przestarzała w programie Visual Studio 2015 i nieobsługiwana w programie Visual Studio 2017.
Aby uzyskać więcej informacji, zobacz appdomain i application domains and Visual C++.
Przykład
Poniższy przykład generuje kod 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