Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Runtime Compiled C & C++ Solutions
We believe RCC++ is a good overall standard C++ approach to runtime editing of code which is easy to use, available across a number of platforms and relatively easy to port. There are however a few alternative implementations for compiling C++ at runtime.
- Recode; a Visual Studio plugin developed by an ex-Crytek colleague.
- Live++ from Stefan Reinalter a generic tool for live coding of C/C++ applications is available, currently supporting the MSVC toolchain.
- Hot Reload from Unreal Engine 4.
- The JUCE C++ cross-platform framework has a project management tool called The Projucer which has an Instant Compilation Environment engine (the ICE engine).
- Visual Studio has Edit & Continue, but this has issues with doing much of any reasonable scope.
Open Source Libraries
- RCC++ (you're here).
- cr.h A Simple C Hot Reload library open source C implementation from Danny Grein, with code on Github
- There's a plugin for Visual Studio called Alcantarea, now open source on Github.
- The author of Alcantarea, @i-saint, has an open source dynamic patcher for Runtime C++ editing https://github.com/i-saint/DynamicPatcher
- An RCC++ implementation has been added to the Urho3D permissively licensed game engine on the RCCpp branch.
- Runtime Compiled C++ in Maya tutorial and code from Siew Yi Liang shows how to develop a live C++ coding Maya plugin.
- A simple single file live code project exists for openFrameworks https://github.com/mazbox/livecode-cplusplus
- CToy, an interactive C99 coding environment based on TCC.
- CERN has a JIT C++ compiler made using Clang/LLCM called Cling.
- Project Jupyter, a multi-language interactive computing environment now has an interactive C++ workflow based on Cling.
- Read-Compile-Run-Loop - tiny and powerful interactive C++ compiler (REPL)
- Qt Interactive Coding - a simple cross-platform library to automate the process of compilation and execution of C++ code from within a running Qt application from @martinky
- Interactive C a simple interactive programming example in C.
- Don Williamson mentions that Splinter Cell had live editing of C++ code in this article on reflection.
- the Bitsquid engine has hot reloading of game dlls.
- The Molecular Engine has implemented a similar system.
- Casey Muratori's Handmade Hero's project shows a simple and powerful method for runtime compilation of C code (which should also work with C++) https://www.youtube.com/watch?v=xrUSrVvB21c.
- Chris Wellons has been blogged about both using libraries for hotloading of C on Linux and hotpatching C functions.
- Michael Chourdakis wrote and article on Code Project about HotPatching.
- Randy Gaul discusses Runtime Compiled C++ with regards to writing game engines, with a working example on Github.
- Tomasz Stachowiak discusses how to directly load .obj files on Windows, and how to manually link DLLs at runtime
- Niklas Gray discusses how The Machinery handles hot reloading of plugin DLLs.
- Timothy Lottes posted outlining his current Runtime Edit Reload Continue process.