Compilerwarnung (Stufe 1, Fehler) C4394
'Funktion': Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllexport) markiert werden
Eine Funktion, die mit dem Appdomain-Modifizierer__declspec
gekennzeichnet ist, wird in MSIL (nicht systemeigene) kompiliert, und Exporttabellen (Exportmodifizierer__declspec
) werden für verwaltete Funktionen nicht unterstützt.
Sie können eine verwaltete Funktion mit öffentlicher Zugriffsmöglichkeit deklarieren. Weitere Informationen finden Sie unter Typsichtbarkeit und Membersichtbarkeit.
C4394 wird immer als Fehler ausgegeben. Sie können diese Warnung deaktivieren oder deren Ebene mit #pragma warning
oder /wdändern. Weitere Informationen finden Sie unter Warnung oder /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Warnstufe).
Beispiel
Das folgende Beispiel generiert C4394.
// C4394.cpp
// compile with: /clr /c
__declspec(dllexport) __declspec(appdomain) int g1 = 0; // C4394
__declspec(dllexport) int g2 = 0; // OK