30 June 2012

Visual Studio 2011 and x64 Support

We've just added support for x64 builds and Visual Studio 2011. Additionally, if you have multiple versions of Visual Studio installed, the runtime compiler will now default to the version used to compile the code originally.

24 June 2012

New: installation and integration instructions, tutorials

We've updated the Wiki on Github. New:
  • Instructions for installing the demo code;
  • 3 detailed tutorials enabling you to reproduce the content of the videos;
  • Basic integration instructions.
If you have any feedback, post on the RCC++ discussion group.

Edit: 26 June, thanks to Mike Bell for spotting that we'd not pulled the tutorial changes from our development fork. Now fixed! 

21 June 2012

We'll be presenting at Develop Conference in Brighton

Matthew and I will be presenting Runtime Compiled C++ at this years Develop Conference in Brighton, on Thursday 12th July from 12:15 to 13:00. The presentation will include a live demonstration of the technique, and we'll be around afterwards to answer any questions. We've been beavering away busily improving the code to make it easier to integrate, as well as make the demo a little flashier!

We'd love to see you at the event, if you're coming do let us know if you have any specific questions you'd like to see us answer and we may be able to modify the talk to answer them.

18 June 2012

New Feature: Include File Tracking

Include File Tracking in Runtime Compiled C++ from RuntimeCompiledC++ on Vimeo.

We've added a major new feature - automatic runtime include file handling. Before, when they changed a header file, developers needed to manually trigger recompilation of every runtime source file. Now all developers need to do is add an include and the macro RUNTIME_MODIFIABLE_INCLUDE to their header and when the header file on disk is modified, all runtime source files which include it are recompiled and the resultant library is loaded as usual.

The implementation for header tracking took some slight of hand with macros and the C++ feature set. We also need to track which source file included that header, so we need a dependency map. The result is simple to use and doesn't significantly increase compile times or code complexity.

Check out the code at Github to take a look at the new changes!

15 June 2012

Unreal Engine 4 Hot Reload

Some of our readers have spotted the similarities of our runtime compilation and the Hot Reload function in UE4 (see the end of this video at around 9:50 , and the UE4 site). We don't know if their technique is inspired by or related to our work, but it certainly looks very familiar. Convergent designs frequently occur when conditions for their utilization are right, but we have a few friends who work at Epic so we're trying to find out. We're very happy to see this approach being used, and to mark the occasion we've added a 'compiling...' notification GUI element to the game, so you can see when something is being compiled even if you don't have the log window open.

When a compilation is running, the following element is shown (the dot animates as a scrolling '...' ):

And when complete you get the following:

We've yet to add any fancy transitions, and we don't show whether the completed compile was successful or not (though the log and log notification does), but perhaps we will at some stage!