An intuitive web based tool targeted at C++ programmers and useful for researching,debugging and optimizing code has been made available.
GCC Explorer is the brainchild of Matt Godbolt who explains his reasons for creating it in his blog:
One of the things I spend a fair amount of time doing at work is compiling my C/C++ code and looking at the disassembly output. Call me old-fashioned, but I think sometimes the only way to really grok your code is to see what the processor will actually execute. Particularly with some of the newer features of C++11 — lambdas, move constructors, threading primitives etc — it’s nice to be able to see how your elegant code becomes beautiful (and maybe even fairly optimal) machine code.
Having crafted a web-based tool for exploring the output of the compiler under small tweaks of the code, compiler version and compiler flags, Matt was given permission by his company to open source it.
The latest release of GCC Explorer has added more compilers GCC4.7, AVR, ARM, MSP to those available at launch. It now has filters to remove clutter such as unused labels, directives and extraneous comments from the generated assembler and permanent links are supported enabling users to generate a link to their examples. Security fixes also make it safer to run on publicly accessible websites.
To try it out go to http://gcc.godbolt.org/
If you know even a little assembler it is a great educational tool.
The code of GCC Explorer is available on github.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.