很多新人(比如我)在开始使用vs2017写c代码的时候,经常会遇到函数不安全报错的问题,如错误C4996
有如下三种解决办法(个人推荐第三种):

1.文件包含 #define _CRT_SECURE_NO_WARNINGS

这里又分为两种情况:

(1)在 .c 文件中

有些项目比较简单,可能一个.c文件就能完成代码,这个时候把#define _CRT_SECURE_NO_WARNINGS 放在当前.c文件的第一行就可以了(注意:一定要是第一行)。

(2)在自定义 .h 文件中

在项目有自定义头文件时,也可以把 #define _CRT_SECURE_NO_WARNINGS 放在自定义的头文件中,当头文件有 #pragma once 时(防止头文件重复包含),上面的代码也可以放在其之后,如
在这里插入图片描述
此时在包含头文件时,自定义的头文件应该放在第一行,如在这里插入图片描述
原理很简单,就不赘述了。

2.预处理器定义

项目–>属性–>C/C++–>预处理器–>预处理器定义,编辑右边输入框加入:_CRT_SECURE_NO_WARNINGS
保存。如:
在这里插入图片描述

3.关闭SDL检查

项目–>属性–>C/C++–>常规->SDL检查,选择否
在这里插入图片描述
个人觉得第三种方法最好用,简单一点。

注意:以上每种办法修改后都只适用当前项目,有新项目的时候,要重新设置。

本人新人一枚,如有描述不当之处还请各位指正。

GitHub 加速计划 / fs / fscan
93
3
下载
一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
最近提交(Master分支:1 个月前 )
ac68df70 - 18 天前
76cbdfb5 # Conflicts: # Common/Config.go # Common/Flag.go # Common/Log.go # Common/Parse.go # Common/ParseIP.go # Common/ParseScanMode.go # Core/ICMP.go # Core/PortScan.go # Core/Scanner.go # Plugins/WebTitle.go # README.md # WebScan/WebScan.go # WebScan/lib/Check.go 18 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐