C++ Weekly - Ep 405 - Dogbolt: The Decompiler Explorer

  Рет қаралды 13,184

C++ Weekly With Jason Turner

C++ Weekly With Jason Turner

Күн бұрын

Пікірлер: 21
@cppweekly
@cppweekly Жыл бұрын
Check out Undo's Time Travel Debugging! undo.io/cppweekly Episode Details: github.com/lefticus/cpp_weekly/issues/120
@MattGodbolt
@MattGodbolt Жыл бұрын
And it has an absolutely awesome name :)
@SpeedingFlare
@SpeedingFlare Жыл бұрын
Omg, it's the Matt, the myth, the God, the Bolt, the legend! 😍
@MattGodbolt
@MattGodbolt Жыл бұрын
@@SpeedingFlare lol 😊- only one of those is true!
@thestarinthesky_
@thestarinthesky_ Жыл бұрын
Thank you for the great Compiler Explorer😍🙏🏽I loveeeeeee it💙
@dukex123
@dukex123 Жыл бұрын
Just to pile on! Compiler Explorer is one of the greatest and most influential tools in ages!
@MattGodbolt
@MattGodbolt Жыл бұрын
@@dukex123thanks so much! I'm lucky to have a number of helpers: it's absolutely a team effort these days!
@nikodempatrycjuszswiercz4064
@nikodempatrycjuszswiercz4064 Жыл бұрын
Now for the Bodgolt Recompiler Explorer...
@latt.qcd9221
@latt.qcd9221 Жыл бұрын
Don't forget Gobdolt.
@anon_y_mousse
@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.
@SillyOrb
@SillyOrb 4 ай бұрын
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
@KhalilEstell Жыл бұрын
I've never heard of this. So excited for this video. Also FIRST!
@TheMrKeksLp
@TheMrKeksLp Жыл бұрын
Uoh, I can already smell the cease and desist letter from Hex-Rays flapping in. Got no loicense for that, good sir
@MattGodbolt
@MattGodbolt Жыл бұрын
Hex-Rays donated the license and are happy with the publicity
@maxcharlington3877
@maxcharlington3877 Жыл бұрын
It'd be rather intertaining to see if some copilot like tool name functions or write some comments to clarify generated mess
@cppweekly
@cppweekly Жыл бұрын
That would indeed be interesting, and I might try it!
@fenokineza6259
@fenokineza6259 Жыл бұрын
I think he's available for code reviews and on-site training, guys!
@einsweniger
@einsweniger Жыл бұрын
Oh, my dog! I love that name ♥
@__hannibaalbarca__
@__hannibaalbarca__ Жыл бұрын
This thing is still exist after 20 years I stop programming ( I engaged in mathematics research) .
@mrlithium69
@mrlithium69 Жыл бұрын
hullo!
C++ Weekly - Ep 406 - Why Avoid Pointer Arithmetic?
10:22
C++ Weekly With Jason Turner
Рет қаралды 14 М.
C++ Weekly - Ep 396 - emplace vs emplace_hint! What's the difference? #cplusplus #cpp
13:37
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
What is the Smallest Possible .EXE?
17:04
Inkbox
Рет қаралды 592 М.
Inside the V3 Nazi Super Gun
19:52
Blue Paw Print
Рет қаралды 2,6 МЛН
How GitHub's Database Self-Destructed in 43 Seconds
12:04
Kevin Fang
Рет қаралды 1 МЛН
C++ Weekly - Ep 421 - You're Using optional, variant, pair, tuple, any, and expected Wrong!
10:34
Stop using std::vector wrong
23:14
The Cherno
Рет қаралды 169 М.
C++ Weekly - Ep 411 - Intro to C++ Exceptions
9:06
C++ Weekly With Jason Turner
Рет қаралды 11 М.
When Optimisations Work, But for the Wrong Reasons
22:19
SimonDev
Рет қаралды 1,2 МЛН
C++ Weekly - Ep 410 -  What Are Padding and Alignment? (And Why You Might Care)
9:48
C++ Weekly With Jason Turner
Рет қаралды 16 М.
Arenas, strings and Scuffed Templates in C
12:28
VoxelRifts
Рет қаралды 103 М.