背景:
在vs2013中使用GetVersionEx时,编译提示:error C4996 : 'GetVersionExW' : 被声明为已否决
解决办法:
1、项目 >> 属性 >> C / C++ >> 常规 >> sdl检查,选择“否”
2、项目 >> 属性 C++ >> 预处理 中加入 _CRT_SECURE_NO_WARNINGS
3、#pragma warning(disable: 4996)
类似的提示错误:
错误 C4996 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
错误原因解释:
这种微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。