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