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 e3c57a77ec Attempt at embedded 6 years ago
.idea Work in progress on embeddable CEs 7 years ago
c-preload Allow access to '.' to fix up the way icc works 7 years ago
d Fix up D build some more 7 years ago
etc Newer ARM from the Embedded Toolchain 7 years ago
examples Merge branch 'master' into msvc-spike 7 years ago
lib Use winston for logging 7 years ago
static Always update state after initialising to ensure defaults etc are populated in the state 6 years ago
static-old Tidying up of some old stuff 7 years ago
test Improvements to embedding 7 years ago
.bowerrc First move towards rewrite 7 years ago
.gdb_history 6.1 rc2 7 years ago
.gitignore New most prioritary properties files : `*` used for local instances of compiler explorer. 7 years ago
.jshintrc Add IDEA files. 8 years ago
.travis.yml Added support for node 6 7 years ago
LICENSE Update copyright 7 years ago
Makefile D: also look for DMD environment variable for D support. 7 years ago Attempt at embedded 6 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 Use winston for logging 7 years ago
bower.json Temporarily pick exactly 5.19 for codemirror 7 years ago
package.json Use winston for logging 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 can also be embedded in other sites, like this:


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.