Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
__declspecattributi prima della specifica di collegamento vengono ignorati
Osservazioni:
Il compilatore avvisa se __declspec(...) viene applicato prima della specifica del extern "C" collegamento. In precedenza, il compilatore avrebbe ignorato l'attributo, con possibili implicazioni in fase di runtime.
Questo avviso è una novità di Visual Studio 2017 versione 15.3, che l'ha lasciata disattivata per impostazione predefinita. È abilitato per impostazione predefinita come avviso di livello 3 a partire da Visual Studio 2017 versione 15.5. Per informazioni su come disabilitare gli avvisi in base alla versione del compilatore, vedere Avvisi del compilatore per versione del compilatore.
Esempio
Il codice seguente genera l'avviso C4768:
__declspec(noinline) extern "C" HRESULT __stdcall // C4768: __declspec attributes before linkage specification are ignored
Per risolvere il problema, inserire prima extern "C":
extern "C" __declspec(noinline) HRESULT __stdcall