如何";模拟;VisualStudio中用于变量声明的C99
我正在使用Visual Studio 2012开发简单的Win32 C程序。我知道VS编译器只支持C89,但我想知道是否有办法覆盖这个限制 特别是,我希望在代码中的任何地方声明变量,而不是仅在作用域块的开头(如C89所要求的)如何";模拟;VisualStudio中用于变量声明的C99,c,visual-studio-2012,c99,c89,C,Visual Studio 2012,C99,C89,我正在使用Visual Studio 2012开发简单的Win32 C程序。我知道VS编译器只支持C89,但我想知道是否有办法覆盖这个限制 特别是,我希望在代码中的任何地方声明变量,而不是仅在作用域块的开头(如C89所要求的) 提前感谢。 < p>使用C++编译器构建应用程序。这是最简单的方法。您仍然可以编写C代码,只需将文件命名为*.cpp我看到的选项: 坚持使用MSVC并切换到C++ 坚持使用MSVC并使用将C99转换为C90(,)的预编译器 切换到支持C语言最新版本的工具链(Intel、
提前感谢。
< p>使用C++编译器构建应用程序。这是最简单的方法。您仍然可以编写C代码,只需将文件命名为*.cpp我看到的选项:- 坚持使用MSVC并切换到C++
- 坚持使用MSVC并使用将C99转换为C90(,)的预编译器
- 切换到支持C语言最新版本的工具链(Intel、MinGW、Clang、Pelles-C等)
您对MSVC编译器处于C模式有多在意?如果你将它设置为C++模式,你仍然可以编写C,你可以使用C99风格变量初始化。通常我创建一个简单的“VisualC++空项目”,然后我将一个.c源文件添加到它。你是说我应该简单地添加.cp文件而不是.c. @ BeNJ,在C++中编译C程序是个坏主意,有很多细微的差别:结构实现、隐式指针转换(例如,从MALOC返回值)、不同的布尔实现、不同的空实现等等。“我正在使用Visual Studio 2012开发简单的Win32 C程序“。简单到没有GUI,或者只是原始的Windows API?在这种情况下,最好的解决方案可能是使用VisualStudio作为IDE,并使用像MIWW这样的C编译器编译程序。Visual Studio 2013现在支持混合声明和代码。我之所以把它作为一个注释而不是作为回答的原因是因为C编译器与C++编译器不一样。当然,编写C的方法是不可能编译成C++的,反之亦然。我很想看到一些C++代码,这些代码在C++ +jj溶胶中没有编译。char*foo=malloc(1);vs.char*foo=重新解释cast