【问题标题】:Fastest way to write & compile a C/C++ program in Windows在 Windows 中编写和编译 A/C++ 程序的最快方法
【发布时间】:2011-11-23 22:39:30
【问题描述】:

我通常使用 Visual Studio,但是当我只想快速测试一些代码时,有几件事困扰着我:

  • 它的启动时间相当长
  • 它总是需要一个项目来执行/调试文件
  • 程序输出被打印到控制台,但是当我没有在程序中插入getchar() 或断点时,窗口就会关闭,因此我看不到它。

我正在寻找适合在 Windows 中进行非常非常快速的编程的程序。例如,从 SO 问题中复制一些代码,运行它并查看它的输出。

我不认为 CygWin 下的控制台程序或 g++ 是一个好的解决方案,因为将 cd 放入正确的目录来保存文件需要很长时间,我不习惯 Vim 等编辑器,并且自己在编译器命令行中输入总是让我烦恼等。

所以我想我正在寻找的是一个非常轻量级的免费 C/C++ IDE,它预先配置为可与免费编译器一起使用(如果它附带的话,还会加分。)

您可以推荐哪些内容至少涉及上述列表中的两个项目?

是否有甚至可以在交互式命令行(如 Python)中执行/解释 C 或 C++ 的程序?

【问题讨论】:

  • 在调试器中运行你的程序, 在没有调试器的情况下运行它,而是在一个等待你在程序完成后按回车的窗口中运行它。
  • @WernerHenze:这不再是真的。使用最新的 Visual Studio/Windows,控制台窗口将关闭而不会暂停,无论它是否在调试器中运行。
  • 我通常只是在我的 windows 机器旁边或在 VM 中运行一台 linux 机器。 Windows 对此很可笑。
  • 关于奇怪的 Ctrl+F5 非确定性行为:MS 反馈网站说这是一个错误,有一个解决方法;见connect.microsoft.com/VisualStudio/feedback/details/552160/…

标签: c++ c ide interactive


【解决方案1】:

我正在寻找一个适合非常非常快速的程序 在 Windows 中编程。例如,从 SO 问题中复制一些代码 并执行它并查看它的输出。

对于快速而肮脏的实验性编码,我真的很喜欢codepad.org。不必创建文件特别好,因为它使我不必想出合适的名称和磁盘位置。请注意,它使用 g++ 4.1.2 behind the scenes,因此不支持某些最新的 C++11 功能。

【讨论】:

  • 不是唯一有用的答案,但我只能接受一个,而 Mooing Duck 推荐的 codepad.org/ideone.com 给我的印象是最意想不到的发明。
  • 感谢(并道歉)@Mooing Duck。当我发布此回复时,我什至没有注意到他的评论。我得给 ideone 一个机会。
  • 链接到 codepad/ideone 以显示编译证明的答案也很常见。
【解决方案2】:

“真的,真的很快(而且很脏,扔掉?)编程”?

  • 编译器:VC++ 命令行 - 你已经有了它。
  • 编辑器:记事本之类的
  • 编译过程:您编写一次的 .BAT 文件 并提供一个带有单个源文件名称的参数。
  • 位置:为您的已知目录设置一些桌面快捷方式 测试代码。

【讨论】:

  • 扔掉——是的。我仍然更喜欢轻量级 IDE,而不是单独的编辑器和 .BAT 文件。不过感谢您的回答。
【解决方案3】:

使用TCC : Tiny C Compiler

  1. 启动命令提示符
  2. CD 任何地方
  3. 记事本main.c
  4. 在记事本中编写代码。保存
  5. 回到命令提示符输入tcc -run main.c
  6. 注意错误,返回4

请注意,使用 -run 参数,您会像解释器一样调用 tcc

【讨论】:

    【解决方案4】:

    您使用哪种编译器并不重要。我更喜欢 G++,但 cl.exe(来自 Visual Studio)同样适用。

    为了从命令行快速使用编译器,要么

    1. 通过setting it in the system settings 将其包含到您的PATH 变量中,或者
    2. 创建一个简单的.cmd 脚本,该脚本启动一个包含正确路径的控制台。

    Visual Studio 附带捆绑了这样一个 .cmd 脚本,该脚本链接在 Visual Studio 的“开始”菜单条目中。不过,就我个人而言,我更喜欢调整 PATH 变量。

    然后您可以简单地从命令行中的任何目录调用编译器。如果您懒得编写整个命令行,请创建一个脚本来为您完成。或者使用 Cygwin 和 (C)Make。

    两个补充说明:

    1. 使用构建配置 (Cntr+F5 (?)) 启动项目会在程序运行后打开控制台,而无需包含 getch() 调用或类似调用。

    2. 我强烈建议您学习 Emacs 或 Vim 之类的编辑器,除非您打算永远不使用 Windows 以外的任何其他平台,即使那样。这些编辑器非常强大,在某些方面比 Visual Studio 代码编辑器提供的功能还要强大。

      但如果您真的没有时间,请改用像 Notepad++ 这样的体面的文本编辑器。

    【讨论】:

      【解决方案5】:

      Open Watcom 易于安装和使用,速度很快,并且是最接近 MSVC++ 的编译器,尽管它的功能明显落后(尤其是在 C++ 中)。

      我根本不使用它的 IDE,因为我习惯于在控制台中做大部分事情,但它就在那里,调试器也在那里。

      编译 one-filers 很容易。

      编译C代码:

      wcl386.exe /we /wx /q sourcefile.c
      

      编译C++代码:

      wcl386.exe /xs /we /wx /q sourcefile.cpp
      

      【讨论】:

        【解决方案6】:

        在我的机器上,我有一个名为“Test”的“空”项目。当我想在互联网上测试一些随机代码时,我只需将其放入该项目中的main.cpp,然后编译。

        如果您认为 MSVC 加载时间过长,应该可以编写一个批处理脚本来尝试编译项目并将构建日志放入文件中。然后你可以简单地用记事本改变现有的main.cpp,双击批处理文件,然后弹出构建日志或运行可执行文件。

        [编辑] 我制作了一个批处理文件来编译整个解决方案。原来这需要加载视觉工作室。但是,批处理文件可以很容易地编译/运行单个 cpp 文件。

        【讨论】:

          【解决方案7】:

          我最喜欢的 IDE:http://www.codeblocks.org/

          这里是包含 MinGW 编译器的下载的直接链接:http://download2.berlios.de/codeblocks/codeblocks-10.05mingw-setup.exe

          你不会找到任何(好的)C/C++ 解释器。

          【讨论】:

          • 我看到 codeblocks 已经有将近 1.5 年没有更新了——这还在维护吗?不久前我尝试四处寻找一些替代的 Windows IDE,但发现我看到的那些没有主动更新。
          • 其实CB是不断更新的。就个人而言,我使用夜间构建。是的,该团队在发布“大型官方版本”方面有点慢,但 IDE 得到了大量更新/维护!即便如此,10.05 版本仍然足够稳定/足够。拥有单独更新的 MinGW 比拥有最前沿的 Code::Blocks 更重要。
          • 好的,我刚刚离开主下载页面 - 上一个版本是 1.5 年前的。
          【解决方案8】:

          一旦我使用 PSPad 将其 C++ 文件的“编译器”选项设置为合理的默认值(cl.exe 在正确的目录中,速度优化,所有警告)。然后就是Ctrl+F9。

          【讨论】:

            【解决方案9】:

            以上所有编译器建议都很好。作为一个编辑,我真的很喜欢Notepad2

            我知道你没有问...

            【讨论】:

              【解决方案10】:

              首先,您的期望不合理。在从最简单到最复杂的输入范围内,没有程序能猜出你想要什么。如果 cd'ing 到 cygwin 太难,而且启动 Visual Studio 太费时,那你就完蛋了。对不起。

              也就是说,您可以使用记事本编辑代码(您可以从命令行调用记事本 foo.cpp)。记事本使用鼠标和电脑上的箭头键,因此非常直观。

              您可以从命令行使用 Visual Studio 工具,而无需处理项目文件。

              Visual Studio 自带一个工具叫nmake,它最基本的用法和linux make 差不多。如果您有非常简单的输入,nmake 的默认规则可能足以生成可执行文件。如果没有,您可以构建一个生成文件,该文件将采用任何单个简单文件,例如 foo.cpp,然后编译并将其链接到名为 foo.exe 的可执行文件。您仍然必须学习使用 nmake,有些人认为这很容易,而另一些人则认为非常困难。试试 nmake foo.cpp 看看结果是不是你想要的。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2016-12-20
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-09-16
                • 1970-01-01
                • 2013-01-30
                相关资源
                最近更新 更多