编译器警告(等级 3)C4768
忽略链接规范前面的
__declspec
属性
如果在 extern "C"
链接规范之前应用 __declspec(...)
,编译器会发出警告。 以前,编译器会忽略此特性,进而可能会产生运行时影响。
备注
该警告是 Visual Studio 2017 版本 15.3 中的新增功能,它在默认情况下保持关闭。 自 Visual Studio 2017 版本 15.5 起,它默认作为第 3 级警告启用。 有关如何按编译器版本禁用警告的信息,请参阅由编译器版本引发的编译器警告。
示例
以下代码生成警告 C4768:
__declspec(noinline) extern "C" HRESULT __stdcall // C4768: __declspec attributes before linkage specification are ignored
若要修复此警告,请将 extern "C"
前置:
extern "C" __declspec(noinline) HRESULT __stdcall