jpa*_*ich 7 c++ ansi visual-studio visual-c++
我通常使用gcc和-ansi标志在Linux下编程和编译; 但我被迫在Visual C++中完成一项工作,每当我编译我的C代码时,我都会得到所有的微软警告
'fscanf':此函数或变量可能不安全.请考虑使用fscanf_s.
尽管在MSDN Developer的网站上执行了一些设置ANSI C项目的步骤,但我得到了这些,但所有_s("安全")调用都不是ANSI C!
有关将Visual C++ Studio置于严格的仅限ANSI模式的建议吗?
谢谢.
正如另一个答案中所提到的,#define'ing _CRT_SECURE_NO_WARNING将解决您在问题中提到的具体警告.
如果您真的在寻找仅限ANSI的模式,那么最接近的就是/Za编译器开关.在Visual Studio IDE中,您可以在项目的"属性"对话框中找到它(在" 配置属性"|"C/C++"|"语言"|"禁用语言扩展"下).
请注意,几乎所有Windows应用程序都是在启用Microsoft的编译器扩展时构建的; 例如,我认为您甚至无法使用/Zaset 使用Windows SDK标头.如果您的代码真的是严格的ANSI,那么您应该没问题.如果在项目中有一些特定于Windows的部分,这些部分主要是严格的ANSI,那么您可能可以隔离这些源并仅使用未/Za设置来构建这些单独的源文件.
抑制特定警告的一种方法是将如下内容添加到源中。
#if defined( _WIN32 )
#pragma warning(disable:4996)
#endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6948 次 |
| 最近记录: |