A tool that lets you edit the source code of a Windows C++ application live, while it is running, without having to go through the usual compile-and-restart cycle. It is effectivly a runtime linker that detects changes to source code files, compiles them and links them back into the running application, while overwriting the previous image.
In contrast to similar projects, blink does not require you to modify your C++ project in any way. In fact it works on all applications as long as they were compiled with debug symbols (so that a PDB file is created) and you have their source code somewhere on your system.
There are two ways to use blink:
- Either launch your application via blink:
blink.exe foo.exe -arguments
- Or attach blink to an already running application:
blink.exe PID
where PID is the process ID to attach to
Note: The compiler path is currently hardcoded in blink's source code, so you may have to change that: https://github.com/crosire/blink/blob/78cf9a531583a5ac5c1ebe6118ad7205f8335c9e/source/blink.cpp#L229
Similarily, blink is not currently able to deduce global preprocessor defines that were used to compile the target application. As such you need to set those manually as well: https://github.com/crosire/blink/blob/78cf9a531583a5ac5c1ebe6118ad7205f8335c9e/source/blink.cpp#L279
There are plans to fix both these issues though: crosire#6
Any contributions to the project are welcomed, it's recommended to use GitHub pull requests.
All the source code is licensed under the conditions of the BSD 2-clause license.