Partilhar via


Aviso do compilador (nível 3) C4768

__declspec atributos antes da especificação de ligação são ignorados

Observações

O compilador avisa se for aplicado __declspec(...) antes da extern "C" especificação de ligação. Anteriormente, o compilador ignorava o atributo, o que poderia ter implicações de tempo de execução.

Esse aviso é novo no Visual Studio 2017 versão 15.3, que o deixou desativado por padrão. Ele é habilitado por padrão como um aviso de nível 3 a partir do Visual Studio 2017 versão 15.5. Para obter informações sobre como desativar avisos por versão do compilador, consulte Avisos do compilador por versão do compilador.

Example

O código a seguir produz aviso C4768:

__declspec(noinline) extern "C" HRESULT __stdcall // C4768: __declspec attributes before linkage specification are ignored

Para corrigir o aviso, coloque extern "C" primeiro:

extern "C" __declspec(noinline) HRESULT __stdcall