vc c语言 C语言: 从 CodeBlocks 到 Microso(5)

电脑杂谈  发布时间:2018-02-10 19:33:11  来源:网络整理

选择配置属性, C/c + +,高级页。Select the Configuration Properties, C/C++, Advanced page.

你可以使用预处理器宏关闭弃用警告在库中使用的某些特定的类。You can also use preprocessor macros to turn off certain specific classes of deprecation warnings used in the libraries. 下面介绍了这些宏。These macros are described below.

若要在 Visual Studio 中定义预处理器宏:To define a preprocessor macro in Visual Studio:

打开属性页对话框为你的项目。Open the Property Pages dialog for your project. 有关如何使用属性页对话框的信息,请参阅属性页。For information on how to use the Property Pages dialog, see Property Pages.

展开配置属性 > C/c + + > 预处理器。Expand Configuration Properties > C/C++ > Preprocessor.

在预处理器定义属性,添加宏名称。In the Preprocessor Definitions property, add the macro name. 选择“确定” 进行保存,然后重新生成项目。Choose OK to save, and then rebuild your project.

若要仅在特定源文件中定义的宏,请添加行如#define EXAMPLE_MACRO_NAME包含的头文件的任意行之前。To define a macro only in specific source files, add a line such as #define EXAMPLE_MACRO_NAME before any line that includes a header file.

在 项目>属性>配置属性>C/C++>高级 选项右侧中的 禁用特定警告 后方的文本框中添加 4996,再次F5就可以运行啦。

还有,笔者在使用 gets 此函数时报错,这是因为 Microsoft Visual Studio 中 gets 被更安全的 gets_s 或 fgets 函数代替了,那根据实际选用 gets_s 和 fgets 函数啦。

gets_s()出现开始于C语言的C11标准,是原gets()的安全版本。gets()不进行数组范围检查,也就是说,你定义一个长度为n的数组,你可以使用gets()读入长度大于n的字符串,编译可能不会出错,但运行时就会出现数组越界或内存泄露的错误。而gets_s()需指明待读字符串的长度参数,防止数组越界。

最后一个笔者遇到的一个小问题,就是当执行无限循环的语句时,CodeBlocks 直接关闭窗口或按 Ctrl + C 终止,在 Microsfot Visual Studio 2017 中也可以通过关闭命令提示符窗口直接终止运行,也可通过 Ctrl + C 终止,不过呢,这样会报错:

0x74C312B5 (KernelBase.dll)处(位于 ConsoleApplication1.exe 中)引发的异常: 0x40010005: Control-C


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-70588-5.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...