One of my preferred developer tools is a web called Compiler Explorer. The tool itself is excellent and useful when trying to optimize your code.
The author of the tool describes it in the Github repository as:
Compiler Explorer is an interactive compiler. The left-hand pane shows editable C/C++/Rust/Go/D/Haskell 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). There is also an ispc compiler for a C variant with extensions for SPMD.
The main problem I found with the tool is, it does not allow to write Qt code. I need to remove all the Qt includes, modify and remove a lot of code…
So I decided to modify the tool to be able to find the Qt headers. To do that first of all, we need to clone the source code:
git clone email@example.com:mattgodbolt/compiler-explorer.git
The application is written using node.js, so make sure you have it installed before starting.
The next step is to modify the options line in etc/config/c++.defaults.properties:
-fPIC -std=c++14 -isystem /opt/qtbase_dev/include -isystem /opt/qtbase_dev/include/QtCore
you need to change /opt/qtbase_dev with your own Qt build path.
Then simply call make in the root folder, and the application starts running on port 10240 (by default).
And the mandatory screenshoots 🙂