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 条评论

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注