On the concepts involved in a running program. What happens, exactly, when you double click an executable file, or launch it from the command line, and it begins to execute?
I've been diving into assemblers and loaders recently. I feel like those tools have been left in a deprived state from where they could be. This was a great read to nail down my initial headspace on the topic.
As a mostly self taught programmer, this is legitimately an awesome article to demystify some OS level concepts I’ve yet to dig into. Thank you for this, now I have a bit more language to continue exploring these topics! Can’t wait for the next one
Nice introductory post to program structures. I have a minor correction though (which I presume was an intentional simplification in the article): In the PE format the locations of the special tables that are defined (export, import, resources, etc.) are specified at the end of the optional header. The names of the sections that include them and where the tables start within the sections are irrelevant. The sections may also contain other code or data.
Appreciate your effort on writing out the “toy loader” code, I feel demystified already :)
Concise, to the point, and with pleasant illustrations. A really nice summary on the topic. Thanks for the early Christmas gift!
I've been diving into assemblers and loaders recently. I feel like those tools have been left in a deprived state from where they could be. This was a great read to nail down my initial headspace on the topic.
As a mostly self taught programmer, this is legitimately an awesome article to demystify some OS level concepts I’ve yet to dig into. Thank you for this, now I have a bit more language to continue exploring these topics! Can’t wait for the next one
I am looking forward to the rest of the series!
A very interesting read! Thank you for writing this.
Nice introductory post to program structures. I have a minor correction though (which I presume was an intentional simplification in the article): In the PE format the locations of the special tables that are defined (export, import, resources, etc.) are specified at the end of the optional header. The names of the sections that include them and where the tables start within the sections are irrelevant. The sections may also contain other code or data.
Thank you for sharing ! Really inspiring especially on details about loaders,modules and executable images.
That is a great effort and an enjoyable read! Thank you very much for this honest work