13 c c99 visual-studio visual-c++ c11
我是Visual Studio Environment的新手,我正在使用VS2017 Pro.我想在C中编写简单的程序,并使用c99和c11标准编译.在Visual Studio中,我只能找到C++标准的编译器开关.
我们怎样才能知道我们要来编译当前的代码以Visual Studio环境c99和c11 Ç标准.
Chu*_*urn 13
Visual C++支持的唯一"模式"是:/std:c++14C++ 14一致性模式(默认),/std:c++17C++ 17支持模式,从VS 2017(15.6)开始并不完全.还有一种/std:c++latest模式在某种程度上将包含C++ 20中的内容.所有这些都应该结合起来 /permissive-以提高一致性.
为了满足C++ 11标准库的一致性,Visual C++必须支持C99标准库,这与支持C99语言一致性不同.
在某些时候,为了满足C++ 17标准库的要求,Visual C++必须支持C11标准库,并且这与C11语言一致性不同.
请参阅VS 2013中的Microsoft和C++ 11/14 STL功能,修复和重大更改中的C++标准一致性
帖子MSVC中有一个评论帖子:Windows的最佳选择,其中Visual C++项目经理会遇到真正的"C11"一致性问题
__PRE__
Visual Studio主要是C ++编译器。在“ C模式”下,它遵循1990年以来的古老C标准。
在2013-2015年左右,他们付出了一些努力,以支持当前版本,而不是1999年发布的16年后的C标准(“ C99”)。但是,符合该标准的工作尚未完成。
我相信编译器还支持当前C语言(“ C11”)的一些选定功能,例如可选的边界检查库。该标准已经使用了7年,但并未得到完全支持。
因此,如果您需要兼容的C语言编译器,则应寻找其他选择。