使用VS2005编译如下语句:
_snprintf(gs_LastErr, sizeof(gs_LastErr) - 1, "%s: NULL device %s\n", sFunc, !pDev ? "handle" : "context");
vsnprintf(gs_LastErr, sizeof(gs_LastErr) - 1, sFormat, argp);
提示如下警告信息:
1>e:\code\cpci1553drv\cpci1553drvdll\drvbase.cpp(35) : warning C4996: '_snprintf' was declared deprecated
1> c:\program files\microsoft visual studio 8\vc\include\stdio.h(339) : see declaration of '_snprintf'
1> Message: 'This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
1>e:\code\cpci1553drv\cpci1553drvdll\drvbase.cpp(898) : warning C4996: '_vsnprintf' was declared deprecated
1> c:\program files\microsoft visual studio 8\vc\include\stdio.h(339) : see declaration of '_vsnprintf'
1> Message: 'This function or variable may be unsafe. Consider using _vsnprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
解决方法:
【Project】-->【cpci1553drv Properties】-->【Confiuration Properties】-->【C/C++】-->【PreProcessor】-->【PreProcessor Definitions】添加如下信息:
_CRT_SECURE_NO_DEPRECATE
_SCL_SECURE_NO_DEPRECATE
重新编译程序警告信息即可消除。