vs2010转成vs2013的几个问题
换了一个工作环境,之前的一个程序是用vs2010编写的,这次用的是vs2013专业旗舰版(正版的哦)。遇到一些问题,如下:
1、问题描述:
1>stdafx.cpp
1>d:\code\20130925\20130925\stdafx.cpp(18): error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
原因:vs2013更加安全,其认为fopen方法不大安全,推荐用fopen_s方法。故报错。
解决方法:
解决方案,项目 =》属性 =》c/c++ =》预处理器=》点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS
以下是截图:
(一)
(二)
(三)
2、问题描述:
Error
Error 1 error C4996: 'open': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _open. See online help for details. d:\programs\mycpp\smss2013\smss2013\src\smss\smssutils.cpp 79 1 SMSS2013
解决方法:
解决方案,项目 =》属性 =》c/c++ =》预处理器=》点击预处理器定义,编辑,加入_CRT_NONSTDC_NO_DEPRECATE
以下是截图:
(前两图与问题一相同)
3、问题描述:
Error 24 error C4703: potentially uninitialized local pointer variable 'bucket' used d:\programs\mycpp\smss2013\smss2013\src\smss\bucket.cpp 316 1 SMSS2013
意思是:你可能用到了未赋值的变量。这点vs2013做的很好,防止一些潜在错误的发生。办法就是给指针变量bucket在申明时赋予NULL值即可。
0 条评论