@mrarcticaaa1101

The more i learn, the more i respect. Some people thought and created this while we are struggling for just learning.

Thank you so much.

@BirthBabies

Awesome. I like that you break down actual assembly code to give real context instead of using some abstract diagram.

@ngonidzashemwanjira208

I am very grateful for the clarity in this video. It is a very rare commodity in this era of the Tech Bro Gimmicks

@ajjaatarskywalker917

This channel is a hidden gem! thanks a lot for sharing the wealth of knowledge. I hope you will expand more in the future on EEE and CS topics.

@Muaddibkhan

We discussed this topic today in university lecture I had some doubts but you cleared them up . Thanks 👍

@contentdesignwizardry2458

Thanks I think this video made it much clearer what these steps actually do.

@samar7190

It was really quick and straightforward about the compilation process. 
Thanks for making such an amazing video !!

@melvin4524

The executable is partially statically linked with the IMPORT library of the C standard library. The library code itself is a dynamic library already loaded in memory and our executable has references too it that get resolved  by the dynamic linker at loadtime(program gets loaded and it jumps to dynamic linker code)/runtime(program gets loaded and runs until it calls into code inside the dynamic library at which point the dynamic linker is invoked, in the case of runtime the reference won't get patched untill we try to call whatever it is we're referencing that is present in the dynamic library). 

You CAN tell the static linker to statically link with libc.lib(or whatever standard library implementation is being used by a compiler) but you need to specify it on the gcc command line.
When linked statically the linker will go through the libc.lib(which is a collection of .obj files each of which has .symtab section) and if the linker finds an object file that contains the definition for data/code we've reference it will copy it's sections into  new aggregate sections (it'll take the .text of our .obj file and .text section of the .obj file in .lib module and create a new .text section that contains the data within both .text sections of both .obj files and it will do that for all sections, such as .data, .rdata, etc...)

@trueopinion100

Excellent work...really made it easy to understand

@vedantsgoodlife7302

I knew there would be a video like this somewhere... and here it is.

@huynhsonnguyen970

your explaination is better than my prof. Thank you!

@AnantaAkash.Podder

By far the Best explanation ever...❤️❤️

@ZirTaaah

Best video on the subject ty !!

@WilliamDavidMartin

Excellent work you got another subscriber and a like!!

@GeekyMino

Excellent tutorial man!

@fullmetalsmash001

This is a great in depth walk through of the compilation to executable. My only critique (which is something I don't know much about) is the description of the process before the assembler is run, the Preprocessor. I know there's a lot to discuss on how it reads each library and macro and creates translation units, but my understanding is still a little muddy on it.

@sergiojimenez3445

suscribed, nice microlecture

@ten_tego_teges

Excellent video, thank you so much!

@graemechetcuti

This was really clear thank you.

@perseusz1691

Super useful video! Thank you very much!