
問題描述?
????????由于一些傳統(tǒng)C語言函數(shù)有一定的安全風(fēng)險,微軟在 Visual Studio 中不建議使用這些傳統(tǒng)庫函數(shù),否則會提示?C4996?錯誤。
????????Visual Studio 建議采用帶_s的函數(shù),如 scanf_s、strcpy_s,但這些并不是標(biāo)準(zhǔn)C函數(shù)。
解決方案?
A、文件內(nèi)添加抑制
? ? ? ? 1、關(guān)閉針對特定代碼行的警告(作用于行)
? ? ? ? 在該行正上方,使用?warning?pragma:? ? ? ? ?#pragma warning(suppress : 4996)?
? ? ? ? 2、在文件中關(guān)閉警告(作用于文件)
? ? ? ? 若要在文件中針對隨后的所有內(nèi)容關(guān)閉警告,在文件頭部使用?warning?pragma:
? ? ? ? ?#pragma warning(disable : 4996)?
? ? ? ? ? ? ? ? 或者? ? ? ? ? ? ? ??
? ? ? ? 根據(jù)編譯器提示來使用宏定義:
????????在文件頭部添加宏:? ? ?#define _CRT_SECURE_NO_WARNINGS
?
B、項目中添加抑制(作用于整個項目)
? ? ? ? 1、在命令行生成中關(guān)閉警告
? ? ? ? ????????使用??/wd4996??命令行選項。
? ? ? ?2、使用全局宏定義
????????右鍵項目→屬性→C/C++(預(yù)處理器)→下拉菜單→編輯
? ? ? ? 新建行,輸入?_CRT_SECURE_NO_WARNINGS?
? ? ? ? 3、關(guān)閉SDL檢查
????????右鍵項目→屬性→C/C++(常規(guī))→SDL檢查(把“是” 改成 “否”)
?拓展?
????????如果使用“文件內(nèi)添加抑制”的方案,則可以修改文件模版,在模板中添加特定代碼。
????????右鍵 Visual Studio 快捷方式(桌面沒有找開始菜單)?→ 右鍵(屬性)?→ 打開文件所在的位置
????????進入 VC→VCProjectItems 文件夾,你可以看到 newc++file.cpp,把他復(fù)制到桌面,修改,再剪切回去,即可修改VS中新建 cpp 文件的默認內(nèi)容。
????????另外,你可以再編寫一份 “源.c” 文件,同樣復(fù)制到?VCProjectItems 文件夾內(nèi),即可在“新建項目”窗口看到該文件。變相提供了 .c 文件的模板。
注意:
? ? ? ? 在 “緊湊視圖” 里新建 “文件名.cpp” 文件,依舊可以應(yīng)用之前通過修改?newc++file.cpp 而修改的cpp文件模版。
? ? ? ? 而若以此方式新建 .c 文件,則不會應(yīng)用 “源.c” 的內(nèi)容。如若需要使用該 “模板”,請在完整的“添加新項” 視圖里選擇并新建該文件。
文章來源:http://www.zghlxwxcb.cn/news/detail-799603.html
參考?
? ? ? ? 1.?編譯器警告(級別 3)C4996 | Microsoft Learn
? ? ? ? 2.?CSDN同站博文?文章來源地址http://www.zghlxwxcb.cn/news/detail-799603.html
到了這里,關(guān)于【解決】屏蔽 Visual Studio 在 C++ 項目中的 C4996 錯誤的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!