首页 > 解决方案 > Visual Studio 2019 社区版可以强制执行严格的 ANSI C 合规性吗?

问题描述

我正在学习 C 并使用 VS 2019 社区版。

在学习 CI 时,不想意外使用任何 C++ 特性,比如在 for 中声明 for 变量。例如,现在这段代码编译:

for (int i = 0; i < 100; ++i)
{
  ...
}

但它不是 C,它是 C++,我希望编译器能告诉我。

可能吗?

标签: cvisual-studio

解决方案


是的,Visual Studio 通过文件扩展名强制执行 C 编译器。如果满足.c,则切换到使用C编译器。没有选择说 VS C 编译器应该使用哪个 C 标准。VS 大多符合 C99,并不完全支持最新的 C11。这是因为VS编译器是C++编译器,对C编程语言的支持处于阴影中。

这是更好的答案在 Visual Studio 中是否有任何选项可以在 C99 和 C11 C 标准之间切换?


推荐阅读