Check out Undo's Time Travel Debugging! undo.io/cppweekly Episode Details: github.com/lefticus/cpp_weekly/issues/120
@MattGodbolt Жыл бұрын
And it has an absolutely awesome name :)
@SpeedingFlare Жыл бұрын
Omg, it's the Matt, the myth, the God, the Bolt, the legend! 😍
@MattGodbolt Жыл бұрын
@@SpeedingFlare lol 😊- only one of those is true!
@thestarinthesky_ Жыл бұрын
Thank you for the great Compiler Explorer😍🙏🏽I loveeeeeee it💙
@dukex123 Жыл бұрын
Just to pile on! Compiler Explorer is one of the greatest and most influential tools in ages!
@MattGodbolt Жыл бұрын
@@dukex123thanks so much! I'm lucky to have a number of helpers: it's absolutely a team effort these days!
@nikodempatrycjuszswiercz4064 Жыл бұрын
Now for the Bodgolt Recompiler Explorer...
@latt.qcd9221 Жыл бұрын
Don't forget Gobdolt.
@anon_y_mousse Жыл бұрын
There used to be a project that some university professor had named dcc which could sort of decompile C programs. You've made me want to go and find that now.
@SillyOrb4 ай бұрын
For those who what to know how this evolved later on: Bank switching was later superseded with memory overlays on the NDS, which swapped logic in RAM. The NDS didn't have the traditional cartridge architecture of the consoles and handhelds before it, where logic was executed off the cart's ROM. So games needed to be loaded into RAM and executed from there. This meant that, if you wanted to have a lot of variety in gameplay, but also have some memory left for graphics that didn't go into VRAM, you had to separate your compilation units into the main logic and groups of memory overlays. These overlays used the same memory segment and could be exchanged in-place. If my recollection is right, this was somewhat slow, so you would do that while the game was loading or changing game modes etc. due to overlays being loaded from the cart. The memory segment the linker reserved for an overlay was as big as the biggest overlay, so you had to be careful to balance them to some extent, as an overlay's unused memory wasn't easily made available for any other uses. Imagine you had several mini-games of which only one would run at any time. All mini-games could essentially share an overlay. Maybe you had different NPC AI models and you would group them according to what is used together most commonly. Maybe early in the game there were easy NPCs that stopped occurring in the second half of the game, which coincided with hard NPCs being introduced. There might have been medium NPCs that were pretty much everywhere. You could group them into overlays that exchanged the easy with the hard NPCs, while the more common medium ones might have been always present in the main logic. Cheers.
@KhalilEstell Жыл бұрын
I've never heard of this. So excited for this video. Also FIRST!
@TheMrKeksLp Жыл бұрын
Uoh, I can already smell the cease and desist letter from Hex-Rays flapping in. Got no loicense for that, good sir
@MattGodbolt Жыл бұрын
Hex-Rays donated the license and are happy with the publicity
@maxcharlington3877 Жыл бұрын
It'd be rather intertaining to see if some copilot like tool name functions or write some comments to clarify generated mess
@cppweekly Жыл бұрын
That would indeed be interesting, and I might try it!
@fenokineza6259 Жыл бұрын
I think he's available for code reviews and on-site training, guys!
@einsweniger Жыл бұрын
Oh, my dog! I love that name ♥
@__hannibaalbarca__ Жыл бұрын
This thing is still exist after 20 years I stop programming ( I engaged in mathematics research) .