RuntimeCompiledCPlusPlus
ipdb
Our great sponsors
RuntimeCompiledCPlusPlus | ipdb | |
---|---|---|
5 | 6 | |
2,110 | 1,812 | |
- | - | |
5.7 | 2.9 | |
3 months ago | 9 months ago | |
C++ | Python | |
- | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RuntimeCompiledCPlusPlus
-
hscpp: An experimental library to hot-reload C++
hscpp (Hotswap C++) is an experimental library I created which allows you to hot-reload C++. It was heavily inspired by Runtime Compiled C++, and works by linking DLLs into your project at runtime.
-
Continue with Javascript or switch to C++
The only recent attempt to make something like this practical, as far as I know, was RCCpp. Going by the GH activity, it looks like it kind of went nowhere.
-
I want to make my game a dll that can use functions from my engine exe
FYI I maintain a list of runtime compiled C++ approaches on this wiki: https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus/wiki/Alternatives
-
Reloadr – Hot code reloading tool for Python
There is https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledC...
The idea is to use virtual functions, and recompile new classes into a shared library. The shared lib is linked into the running program, and old instances of the classes are deleted and replaced by new instances constructed from the share library.
I am working on a library using the same (stolen) idea here:
https://github.com/jheruty/hscpp
Proof of concept demo:
https://m.youtube.com/watch?v=pjGngeKgni8
hscpp is still very alpha, and I’m sure I’ll find lots of bugs as I work on a “real” demo. In contrast, Runtime Compiled C++ is quite mature and is used in real game projects.
Note that this approach very much limits your architecture. For example, you won’t be able to use statics, as the newly compiled shared libraries won’t see them.
It’s a finicky thing, worth it to me, but not something you can just plop in to an established project.
-
Quine or self reproducing program written using C language
Well of course it's possible to generate executable code at runtime in C++ since clang itself is written in C++, but it's definitely a much larger undertaking, but there's two such efforts I know of, Cling and RuntimeCompiledCPlusPlus.
ipdb
-
The new pdbp (Pdb+) Python debugger!
Why not just use Python’s built-in pdb debugger or another existing one like ipdb or pdbpp?
-
Why do people say that Neovim cannot be an IDE?
Unfortunately, I couldn't find any official documentation. But here is a small cheatsheet about it and here is there is github repo.
-
Debugging Python programs without an IDE
Integration of IPython pdb
-
You say “cave dweller debugging”, I say debug logging
One thing I have used is drop into the Python debugger (also ipdb) from within a signal handler. Then I can run a kill, and have it drop into the debugger.
There are some of cute hacks to get a remote debugger which I haven't used in years.
https://github.com/sassoftware/epdb can start and connect to a remote debug instance
https://github.com/gotcha/ipdb
- Debug in VIM
-
Reloadr – Hot code reloading tool for Python
Now tie in some ipdb [1] and you have a pretty sweet setup. Also depending on your serving framework it might also have hot reloading as well, tornado, flask, etc.
[1]https://github.com/gotcha/ipdb
[2] https://www.tornadoweb.org/en/stable/autoreload.html https://werkzeug.palletsprojects.com/en/0.14.x/serving/
What are some alternatives?
jurigged - Hot reloading for Python
pudb - Full-screen console debugger for Python
Revise.jl - Automatically update function definitions in a running Julia session
pdbpp - pdb++, a drop-in replacement for pdb (the Python debugger)
reloadr - Hot code reloading tool for Python
flask-debugtoolbar - A toolbar overlay for debugging Flask applications
OpenCL_Wrapper_By_PunalManalan - Lightweight, Easy to use OpenCL Wrapper By Punal Manalan. 'OCLW_P::OpenCLWrapper' This Single line of code does Everything In a Compact And Easy to Manage Manner!. Use this code wherever and whenever you want to!
vimspector - vimspector - A multi-language debugging system for Vim
cr - cr.h: A Simple C Hot Reload Header-only Library
django-debug-toolbar - A configurable set of panels that display various debug information about the current request/response.
hotpatch - In-place hotpatching for Python functions
wdb - An improbable web debugger through WebSockets