線上編譯器

各種網站提供對 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 的一部分。