Skip to content

A tool which allows you to edit source code of any Windows C++ project live at runtime

License

Notifications You must be signed in to change notification settings

deepankarsharma/blink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blink

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.

Demo

Usage

There are two ways to use blink:

  1. Either launch your application via blink:
    blink.exe foo.exe -arguments
  2. 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

Contributing

Any contributions to the project are welcomed, it's recommended to use GitHub pull requests.

License

All the source code is licensed under the conditions of the BSD 2-clause license.

About

A tool which allows you to edit source code of any Windows C++ project live at runtime

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%