- 
                Notifications
    
You must be signed in to change notification settings  - Fork 0
 
Known Issues
        dougbinks edited this page Jul 10, 2011 
        ·
        1 revision
      
    The Runtime Compiled C++ project is currently in a prototype stage and so has a number of significant known issues.
- No dependancy system: if you change an interface header between runtime compiled source files you'll need to recompile all. We intend to introduce a dependancy system which is consistent with the runtime compiled approach.
 - Incorrect serialization point for proper error recovery: we currently serialize out from the old objects into the new ones without considering corruption of the old objects from errors. This is something we'll fix by adding 'known good' save points.
 - Odd dependency bug in Visual Studio project can cause code which needs compiling not to be compiled when built inside the Visual Studio IDE. This doesn't appear to be a fundamental issue with the runtime compilation, but instead a potential bug in how Visual Studio handles the macro and/or templates used for the base object code. For example, sometimes changing an interface doesn't result in dependant code being compiled by Visual Studio during the normal build process. If you get odd crashes, this might be the source.
 - Can't add new source files at runtime: This is less an issue with the underlying framework than with the current example project, as this feature can be implemented fairly trivially. There are several options available, from monitoring directories for new files to including an 'Add Source Code" dialogue. Interoperating well with IDEs at runtime is one potential issue we will potetentially need to overcome.
 - Memory leaks: We currently have several potential leaks from the system, the largest being that we don't actively prune the dynamically loaded libraries which are no longer referenced.
 - Lack of robustness in menu event system: the menu event system currently implemented on top of libRocket is not very robust to easy to make errors during runtime editing, and it's all too easy to forget to de-register and event leading to unrecoverable crashes. This should be fairly simple to fix with an improved event interface.