Предупреждение компилятора (уровень 3) C4768
__declspec
атрибуты перед спецификацией компоновки игнорируются
Компилятор предупреждает, применяется ли __declspec(...)
она перед extern "C"
спецификацией компоновки. В прошлом компилятор игнорировал такой атрибут, что могло повлиять на работу в среде выполнения.
Замечания
Это предупреждение является новым в Visual Studio 2017 версии 15.3, которое по умолчанию оставило его не так. Он включен по умолчанию как предупреждение уровня 3, начиная с Visual Studio 2017 версии 15.5. Сведения об отключении предупреждений по версии компилятора см. в предупреждениях компилятора по версии компилятора.
Пример
Следующий код выдает предупреждение C4768:
__declspec(noinline) extern "C" HRESULT __stdcall // C4768: __declspec attributes before linkage specification are ignored
Чтобы устранить это предупреждение, переместите extern "C"
вперед:
extern "C" __declspec(noinline) HRESULT __stdcall