Avertissement du compilateur (niveau 3) C4768
__declspec
attributs avant que la spécification de liaison ne soit ignorée
Le compilateur avertit s’il __declspec(...)
est appliqué avant la spécification de extern "C"
liaison. Avant, le compilateur ignorait l’attribut, ce qui pouvait avoir des implications lors de l’exécution.
Notes
Cet avertissement est nouveau dans Visual Studio 2017 version 15.3, ce qui l’a laissé désactivé par défaut. Elle est activée par défaut en tant qu’avertissement de niveau 3 à partir de Visual Studio 2017 version 15.5. Pour plus d’informations sur la désactivation des avertissements par version du compilateur, consultez avertissements du compilateur par version du compilateur.
Exemple
Le code suivant génère l’avertissement C4768 :
__declspec(noinline) extern "C" HRESULT __stdcall // C4768: __declspec attributes before linkage specification are ignored
Pour résoudre l’avertissement, placez extern "C"
d’abord :
extern "C" __declspec(noinline) HRESULT __stdcall