11

我正在使用 Visual Studio 2012 开发简单的 Win32 C 程序。我知道 VS 编译器只支持 C89,但我想知道是否有办法覆盖这个限制。

特别是我想在我的代码中的任何地方声明变量,而不是只在范围块的开头(如 C89 所要求的那样)。

提前致谢。

4

3 回答 3

13

我看到的选择:

  • 坚持使用 MSVC 并切换到 C++
  • 坚持使用 MSVC 并使用将 C99 转换为 C90 的预编译器(Comeauc99-to-c89
  • 切换到支持 C 语言最新版本的工具链(Intel、MinGW、Clang、Pelles-C、...)
于 2012-11-09T13:43:28.557 回答
9

这似乎是一个过时的线程,但是在我搜索相同的问题时首先登陆这里,我认为我应该发布更新:

从 VS13 开始,Visual C++ 编译器支持 C99 风格的变量声明。更多细节在这里:

http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-break-changes-in-vs-2013.aspx

于 2014-08-14T22:47:36.753 回答
-5

使用 C++ 编译器构建您的应用程序。这是最简单的方法。您仍然可以编写 C 代码,只需将文件命名为 *.cpp

于 2012-11-09T13:31:30.000 回答