Merupakan situs web eksplorasi kompiler interaktif. Edit kode dalam C, C++, C#, F#, Rust, Go, D, Haskell, Swift, Pascal, ispc, Python, Java, atau salah satu dari 30+ komponen bahasa lain yang didukung, dan lihat tampilan kode tersebut setelah dikompilasi di waktu nyata.
Laporan Bug · Permintaan Penyusun · Permintaan Fitur · Permintaan Bahasa · Permintaan Perpustakaan · Laporan Kerentanan
Beberapa kompiler didukung untuk setiap bahasa, banyak alat dan visualisasi berbeda tersedia, dan tata letak UI dapat dikonfigurasi (berkat GoldenLayout).
Cobalah di godbolt.org, atau jalankan instance lokal Anda sendiri. Ikhtisar tentang apa yang dapat Anda capai dari situs ini, mengapa situs ini bermanfaat, dan cara menggunakannya tersedia di sini.
Compiler Explorer mengikuti Kode Etik yang bertujuan untuk menumbuhkan lingkungan yang terbuka dan ramah.
Compiler Explorer dimulai pada tahun 2012 untuk menunjukkan bagaimana konstruksi C++ diterjemahkan ke kode perakitan. Ini dimulai sebagai sesi tmux
dengan vi
berjalan di satu panel dan watch gcc -S foo.cc -o -
berjalan di panel lain.
Sejak itu, situs ini telah menjadi situs publik yang melayani lebih dari 3.000.000 kompilasi per minggu.
Anda dapat mendukung proyek ini secara finansial di Patreon, GitHub, Paypal, atau dengan membeli perlengkapan keren di toko Compiler Explorer.
Sekarang ada bagian FAQ di wiki repositori. Jika pertanyaan Anda tidak ada, silakan hubungi kami seperti yang dijelaskan di bawah ini, sehingga kami dapat membantu Anda. Jika Anda menemukan bahwa FAQ ini kurang memiliki beberapa poin penting, silakan berkontribusi dan/atau minta kami untuk mengklarifikasinya.
Beberapa video menampilkan beberapa fitur Compiler Explorer:
Tersedia peta Jalan yang memberikan sedikit wawasan tentang rencana masa depan untuk Compiler Explorer .
Compiler Explorer ditulis dalam TypeScript, di Node.js.
Dengan asumsi Anda memiliki versi node
yang kompatibel yang diinstal, di Linux, menjalankan make
saja sudah membuat Anda siap dan menjalankan Explorer yang berjalan pada port 10240 di mesin lokal Anda: http://localhost:10240/. Jika ini tidak berhasil untuk Anda, silakan hubungi kami, karena kami menganggapnya penting, Anda dapat menjalankannya dengan cepat dan mudah. Saat ini, Compiler Explorer memerlukan instalasi node
20, baik di jalur atau di NODE_DIR
(variabel lingkungan atau parameter make
).
Menjalankan dengan make EXTRA_ARGS='--language LANG'
akan memungkinkan Anda memuat LANG
secara eksklusif, dengan LANG
adalah satu untuk id/alias bahasa yang ditentukan dalam lib/languages.ts
. Misalnya, untuk hanya menjalankan Compiler Explorer dengan dukungan C++, Anda harus menjalankan make EXTRA_ARGS='--language c++'
. Anda dapat memberikan beberapa argumen --language
untuk membatasi lebih dari satu bahasa. Makefile
akan secara otomatis menginstal semua perpustakaan pihak ketiga yang diperlukan untuk dijalankan; menggunakan npm
untuk menginstal komponen sisi server dan sisi klien.
Untuk pengembangan, kami menyarankan penggunaan make dev
untuk mengaktifkan beberapa fitur berguna, seperti memuat ulang otomatis pada perubahan file dan waktu startup yang lebih singkat.
Anda juga dapat menggunakan npm run dev
untuk menjalankan jika make dev
tidak berfungsi di mesin Anda.
Beberapa bahasa memerlukan alat tambahan untuk menghilangkannya, misalnya rust
, d
, atau haskell
. Alat-alat tersebut disimpan secara terpisah di repo alat.
Konfigurasi compiler explorer dicapai melalui file konfigurasi di direktori etc/config
. Nilai adalah key=value
. Opsi dalam file {type}.local.properties
(dimana {type}
adalah c++
atau serupa) menimpa apa pun di file {type}.defaults.properties
. Ada file .gitignore
untuk mengabaikan file *.local.*
, jadi ini tidak akan diperiksa ke git, dan Anda tidak akan kesulitan dengan versi yang diperbarui saat Anda git pull
. Untuk informasi lebih lanjut lihat Menambahkan Kompiler.
Periksa CONTRIBUTING.md untuk informasi rinci tentang bagaimana Anda dapat berkontribusi pada Compiler Explorer , dan folder docs untuk rincian spesifik mengenai berbagai hal yang mungkin ingin Anda lakukan, seperti cara menambahkan kompiler atau bahasa baru ke situs.
Jika Anda ingin mengarahkannya ke GCC Anda sendiri atau binari serupa, edit etc/config/LANG.defaults.properties
atau buat yang baru dengan nama LANG.local.properties
, gantikan LANG
sesuai kebutuhan. File *.local.properties
memiliki prioritas tertinggi saat memuat properti.
Jika Anda ingin mendukung banyak kompiler dan bahasa seperti godbolt.org, Anda dapat menggunakan perintah bin/ce_install install compilers
di proyek infra untuk menginstal semua atau beberapa kompiler. Kompiler yang diinstal dengan cara ini dapat dimuat melalui konfigurasi di etc/config/*.amazon.properties
. Jika Anda perlu menerapkan di lingkungan yang sepenuhnya offline, Anda mungkin perlu menghapus beberapa bagian konfigurasi yang diambil dari www.godbolt.ms@443
.
Saat dijalankan di lingkungan perusahaan, layanan pemendekan URL dapat diganti dengan layanan internal jika driver penyimpanan default tidak sesuai untuk lingkungan Anda. Untuk melakukan ini, tambahkan modul baru di lib/shortener/myservice.js
dan atur variabel urlShortenService
dalam konfigurasi. Modul ini harus mengekspor satu fungsi, lihat modul tinyurl sebagai contoh.
Ada API tenang sederhana yang dapat digunakan untuk melakukan kompilasi ke asm dan membuat daftar kompiler.
Anda dapat menemukan dokumentasi API di sini.
Kami menjalankan Compiler Explorer Discord yang merupakan tempat berdiskusi menggunakan atau mengembangkan Compiler Explorer. Kami juga hadir di saluran cpplang Slack #compiler_explorer
dan kami memiliki milis publik.
Ada saluran pengembangan di discord, dan juga milis pengembangan.
Jangan ragu untuk menyampaikan masalah di github atau kirim email langsung ke Matt untuk bantuan lebih lanjut.
Berikut ini adalah domain resmi untuk Compiler Explorer:
Domain mengizinkan subdomain sewenang-wenang, misalnya https://foo.godbolt.org/, yang memudahkan karena setiap subdomain memiliki status lokal independen. Selain itu, subdomain bahasa seperti https://rust.compiler-explorer.com/ akan dimuat dengan bahasa yang sudah dipilih.
Compiler Explorer dikelola oleh orang-orang hebat yang tercantum dalam file PENULIS.
Kami mengucapkan terima kasih kepada para kontributor yang tercantum dalam file CONTRIBUTORS, yang telah membantu membentuk Compiler Explorer .
Kami juga ingin mengucapkan terima kasih khusus kepada orang-orang ini atas kontribusinya pada Compiler Explorer :
Banyak sponsor luar biasa, baik individu maupun perusahaan, telah membantu mendanai dan mempromosikan Compiler Explorer.