You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Matt Godbolt 107c5288cb Whoops; recursion in npm test 7 years ago
.idea Work in progress on embeddable CEs 7 years ago
c-preload WAG #2 7 years ago
d Fix up D build some more 7 years ago
etc Demangle *after* parsing ASM. 7 years ago
examples Merge branch 'master' into msvc-spike 7 years ago
lib Send opcodes as strings. Fix up ARM opcode and label handling 7 years ago
static Send opcodes as strings. Fix up ARM opcode and label handling 7 years ago
static-old Tidying up of some old stuff 7 years ago
test Send opcodes as strings. Fix up ARM opcode and label handling 7 years ago
.bowerrc First move towards rewrite 7 years ago
.gdb_history 6.1 rc2 8 years ago
.gitignore New most prioritary properties files : `*` used for local instances of compiler explorer. 7 years ago
.jshintrc Add IDEA files. 9 years ago
.travis.yml Added support for node 6 7 years ago
LICENSE Update copyright 8 years ago
Makefile Whoops; recursion in npm test 7 years ago Revert "Attempt at embedded" 7 years ago Only serve items from out/dist on demand; use @import in CSS instead of lots of includes; configure r.js to optimize CSS too 7 years ago
app.js Debugging improvements 7 years ago
bower.json Temporarily pick exactly 5.19 for codemirror 7 years ago
package.json Adding more tests; beginnings of a refactor to make compilers more configurable 7 years ago

Build Status Codewake

Compiler Explorer

Compiler Explorer is an interactive compiler. The left-hand pane shows editable C/C++/Rust/Go/D code. The right, the assembly output of having compiled the code with a given compiler and settings. Multiple compilers are supported, and the UI layout is configurable (the Golden Layout library is used for this).

Try out one of the demo sites: C++, Rust, D or Go.


Compiler Explorer is written in node.js.

Assuming you have npm and node installed, simply running make ought to get you up and running with an Explorer running on port 10240 on your local machine: http://localhost:10240/

The Makefile will automatically install all the third party libraries needed to run; using npm to install server-side components and bower to install all the client-facing libraries.

If you want to point it at your own GCC or similar binaries, either edit the etc/config/ or else make a new one with the name * files have the highest priority when loading properties.

The config system leaves a lot to be desired, I'm working on porting CCS to javascript and then something more rational can be used.

Feel free to raise an issue on github or email me directly for more help.


Compiler Explorer is maintained by Matt Godbolt. Multiple compiler and difference view was implemented by Gabriel Devillers.