编译器警告(级别 1,错误)C4394

“function”: per-appdomain 符号不应该用 __declspec(%s) 进行标记

使用 appdomain __declspec修饰符标记的函数将编译为 MSIL(非本机),并且托管函数不支持导出表(export__declspec 修饰符)。

您可以将托管函数声明为具有公共可访问性。 有关详细信息,请参阅类型可见性成员可见性

始终发出 C4394 错误。 你可以使用 #pragma warning/wd 关闭此警告或更改其级别。 有关详细信息,请参阅警告/w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、/w3、/w4、/Wall、/wd、/we、/wo、/ Wv、/WX(警告级别)

示例

下面的示例生成 C4394。

// C4394.cpp
// compile with: /clr /c
__declspec(dllexport) __declspec(appdomain) int g1 = 0;   // C4394
__declspec(dllexport) int g2 = 0;   // OK