在线编译器

各种网站提供对 C++编译器的在线访问。在线编译器的功能集因站点而异,但通常允许执行以下操作:

  • 将代码粘贴到浏览器中的 Web 表单中。
  • 选择一些编译器选项并编译代码。
  • 收集编译器和/或程序输出。

在线编译器网站的行为通常非常严格,因为它们允许任何人在其服务器端运行编译器并执行任意代码,而通常远程任意代码执行被视为漏洞。

在线编译器可用于以下目的:

  • 从缺少 C++编译器(智能手机,平板电脑等)的机器运行一个小代码片段。
  • 确保代码使用不同的编译器成功编译,并且无论编译时使用哪个编译器,都以相同的方式运行。
  • 学习或教授 C++的基础知识。
  • 在本地计算机上没有最新的 C++编译器时,学习现代 C++特性(在不久的将来 C++ 14 和 C++ 17)。
  • 通过与大量其他编译器进行比较,发现编译器中的错误。检查在将来的版本中是否修复了编译器错误,这些错误在你的计算机上不可用。
  • 解决在线判断问题。

应该什么在线编译器不能用于:

  • 使用 C++开发功能齐全(甚至很小)的应用程序。通常,在线编译器不允许链接第三方库或下载构建工件。
  • 执行密集计算。服务器端计算资源有限,因此任何用户提供的程序将在执行几秒后被终止。允许的执行时间通常足以进行测试和学习。
  • 攻击编译器服务器本身或网络上的任何第三方主机。

例子:

免责声明:文档作者不隶属于下列任何资源。网站按字母顺序列出。

  • http://codepad.org/ 使用代码共享的在线编译器。在使用源代码警告或错误进行编译后编辑代码不能很好地工作。
  • http://coliru.stacked-crooked.com/ 你为其指定命令行的在线编译器。提供 GCC 和 Clang 编译器供使用。
  • http://cpp.sh/ - 支持 C++ 14 的在线编译器。不允许你编辑编译器命令行,但某些选项可通过 GUI 控件使用。
  • https://gcc.godbolt.org/ - 提供广泛的编译器版本,体系结构和反汇编输出列表。当你需要检查不同编译器编译的代码时非常有用。存在 GCC,Clang,MSVC(CL),英特尔编译器(icc),ELLCC 和 Zapcc,其中一个或多个编译器可用于 ARM,ARMv8(作为 ARM64),Atmel AVR,MIPS,MIPS64,MSP430,PowerPC,x86 和 x64 architecutres。可以编辑编译器命令行参数。
  • https://ideone.com/ - 在网络上广泛使用来说明代码段行为。提供 GCC 和 Clang 供使用,但不允许你编辑编译器命令行。
  • http://melpon.org/wandbox - 支持众多 Clang 和 GNU / GCC 编译器版本。
  • http://onlinegdb.com/ - 极简主义的 IDE,包括编辑器,编译器(gcc)和调试器(gdb)。
  • http://rextester.com/ - 为 C 和 C++(以及其他语言的编译器)提供 Clang,GCC 和 Visual Studio 编译器,可以使用 Boost 库。
  • http://tutorialspoint.com/compile_cpp11_online.php - 具有 GCC 的全功能 UNIX shell 和用户友好的项目浏览器。
  • http://webcompiler.cloudapp.net/ - 在线 Visual Studio 2015 编译器,由 Microsoft 提供,作为 RiSE4fun 的一部分。