VS2015套接字编程时error C4996错误处理
来源:互联网 发布:知乎 东风 编辑:程序博客网 时间:2024/05/21 17:29
1 问题引入
在VS2015中进行套接字编程时,
struct sockaddr_in ClientAddr;
ClientAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
在编译时会弹出
error C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings错误提示。主要原因是inet_addr()函数已经过时,推荐使用inet_pton()或者InetPton()函数。
2 问题解决
可以采用三种方法解决error C4996错误:第一种是关闭项目的SDL检查;第二种是对_WINSOCK_DEPRECATED_NO_WARNINGS进行定义;第三种是使用推荐的新函数。如果想继续使用旧函数,可使用前两种方法。
2.1 关闭项目的SDL检查
SDL叫做“安全开发声明周期”检查,是VS2012中新添加的功能。主要是为了能更好地监管该法着的代码安全。在创建MFC应用程序的向导中,该选项默认为选中,如图2-1所示。
图2-1 MFC应用程序向导中的SDL
可以在创建MFC应用程序时,将该选项取消勾选。
如果MFC应用程序已经创建,此时可在VS2015的菜单栏中关闭SDL检查。点击VS2015菜单栏“项目->XXX属性”,之后弹出的“XXX”属性页对话框的左侧选择“配置属性->C/C++->常规”,在右侧的“SDL检查”选项中选择“否(/sdl-)”即可。
2.2 定义_WINSOCK_DEPRECATED_NO_WARNINGS
在项目的stdafx.h中添加对_WINSOCK_DEPRECATED_NO_WARNINGS的定义
#define _WINSOCK_DEPRECATED_NO_WARNINGS 0
将其定义为0、1、2....均可。
2.3 使用推荐的新函数
inet_pton()函数或者InetPton()函数在Ws2tcpip.h中定义,在使用这些新函数之前需要包含该头文件。
#include <Ws2tcpip.h>
- VS2015套接字编程时error C4996错误处理
- VS2015, error : C4996
- VS2015报错C4996处理,error C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_D
- VS2015报错C4996处理
- 《C++ 笔记》 Part4 error C4996"fopen"的错误处理
- VS2015 scanf 函数报错 error C4996: 'scanf'
- VS2015 scanf 函数报错 error C4996: 'scanf'
- 错误处理error C4996: 'fopen': This function or variable may be unsafe
- 【VS2013】错误处理error C4996: 'fopen': This function or variable may be unsafe
- 错误处理error C4996: 'fopen': This function or variable may be unsafe
- 错误处理error C4996: 'fopen': This function or variable may be unsafe
- 错误处理error C4996: 'fopen': This function or variable may be unsafe
- 【C++】错误 164 error C4996: 'std::_Fill_n':
- error C4996
- error c4996
- error C4996
- 【opencv】error C4996 错误及类似错误解决办法
- 今天学习c++时编译出现了error C4996这样的错误
- Android混淆注意事项
- JAVA中,如在构造函数中定义数组的大小
- ORACLE重建控制文件
- jQuery.extend扩展利器
- Tomcat 或者 Nginx 配置 Https
- VS2015套接字编程时error C4996错误处理
- Android layout系列-autolayout
- UVa 11581
- C#阶乘递归算法
- 毕业两年
- wait 、notify 、join、yield
- 探秘MATLAB求FFT,计算能量谱
- ES6入门--let的基本使用
- 匿名类&本地类&默认方法