如何测试小型/简单的C或C++源代码?

8
在Linux上,使用vi很容易编写100-200行代码,编译并查看结果。也就是说,在C/C++方面尝试简单的小例子非常简单。
然而在Windows上,我喜欢使用Visual Studio,但是要使用它,您必须创建一个新解决方案,然后创建一个项目,这会创建一个新文件夹,生成非常大的PDB和缓存文件,一个100-200行代码的小示例在编译后变成了一个20MB的庞大项目。
那么问题来了:如何在Windows上编写这种小型代码呢?也许可以使用Cygwin或Dev-C++(自2004年以来不再更新)。

1
不要再使用Dev C++了——去看看http://www.codeblocks.org/上的Code::Blocks吧。 - anon
18个回答

13

1
这篇文章的 VS 2008 版本链接怎么样:http://msdn.microsoft.com/zh-cn/library/ms235639.aspx - user2048753
1
谢谢。我无法想象指令会有很大的不同,因为编译器仍然被称为 cl.exe - Greg Hewgill
1
说实话,只需要执行 'cl myapp.cpp' 命令就能得到 myapp.exe 程序,再简单不过了。 - Macke
请注意,即使没有安装Visual Studio,您也可以通过安装Windows SDK获得命令行编译器。这对于构建服务器来说是一件好事(如果您负担不起TFS的话)。 - OregonGhost

7
当您安装Visual Studio时,它会在程序中创建一个条目,名称类似于“Visual Studio命令提示符”(可能在“Visual Studio工具”组中)。
执行该命令提示符(它设置了一些命令行编译器所需的环境变量),并使用cl,即命令行编译器。
> cl /? 版权所有(C) Microsoft Corporation。保留所有权利。
C/C++ 编译器选项
-优化-
/O1 最小化空间 /O2 最大化速度 /Ob<n> 内联扩展(默认n=0) /Od 禁用优化(默认) /Og 启用全局优化 /Oi[-] 启用内部函数 ...
编辑--从另一个答案复制 :)
Microsoft文档:VS2005VS2008

6

对于最简单的例子,codepad 可能是一个选择。


5
我认为启动Visual Studio进行一些测试没有任何问题。之后您可以删除这20MB的文件;)
然而,在Windows上您也可以直接调用命令行编译器。只需启动Windows SDK控制台(或Visual Studio控制台)即可,甚至可以使用vi编辑器(当然需要先安装)。

3

我经常使用MinGW(适用于Windows的GCC)来完成这样的任务。


3
如果你没有使用任何Visual Studio特定的东西,那么MinGW是一个很好的解决方案。如果你正在使用Visual Studio,可以在开始菜单中找到一个脚本,用于启动Visual Studio的“命令行”。

此外,请记住,即使你不打算使用Visual Studio,如果你使用MinGW,你可能会遇到一些意想不到的问题(比如...如果你尝试使用Apple Bonjour SDK,你会遇到严重的链接错误),因为GCC和MSVC++库并不总是兼容的。

2

如果您无法访问本地计算机,或者您懒得寻找命令行编译器,您可以将代码粘贴到在线编译器中。网络上有几个这样的编译器,您可以在这里尝试其中之一。它是免费的,不需要注册。它有一些缺陷,但对于快速代码检查来说还是可以的。

您也可以使用其他语言,例如C、C++、D、Haskell、Lua、OCaml、PHP、Perl、Python、Ruby、Scheme和Tcl。


2
也许我只是一个*nix爱好者,但我前往http://consoletelnet.sourceforge.net/gccwin32.html获取了Win32版本的gcc。然后我前往http://unxutils.sourceforge.net/下载了这些命令行工具。(我将它们的find.exe重命名为gfind.exe以避免与Windows自带的find命令冲突。)接着我使用Win32版的gvim编写代码,并使用make/gcc进行编译。现在我只需要学习一个环境即可。

2

对于我想要测试的小代码片段,例如我将在SO答案中包含的代码,我总是使用命令行。我在Windows上使用的工具有:

  • MSYS 工具,特别是它们的bash shell
  • vim 编辑器
  • MinGW GCC编译器(Twilight Dragon分支)

1

我没有使用过它们中的任何一个,但MinGWlcc-win32似乎非常轻量级,并且人们似乎喜欢在news:comp.lang.c中使用它们。MinGW是GNU编译器集合的Windows移植版,是免费的;lcc-win32可供非商业用途免费使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接