That was the best lecture about compilers on the whole internet. Thanks Mike!
@MikeShah
Жыл бұрын
Cheers, thank you for the kind words!
@jorik170
7 ай бұрын
couldn't agree more
@yanfranca8382
10 ай бұрын
boy i wish i had seen this video when I was an undergrad
@MikeShah
10 ай бұрын
Cheers! Yes, I show to all of my students -- it's essential knowledge in my book!
@birdinmotion1525
4 күн бұрын
Bot am I glad I am an undergrad
@jovannyswicktutorials9960
4 ай бұрын
This is special and deserves more views and likes. Well explained.
@MikeShah
4 ай бұрын
Cheers, thank you!
@kjollyman241
3 жыл бұрын
I still watch these even after graduating 😅 thank you for the hard work!
@MikeShah
3 жыл бұрын
Thanks Kraig! Th plan is to keep making and releasing more publicly! Now that you've been out working for a bit, we'll have to have you come back as a guest speaker for Fall 2021 FSE course :)
@saberlite8809
Жыл бұрын
Impeccable explanation. I wish my college had professors like you who would explain the nitty gritty details and not just go through presentation slides.
@MikeShah
Жыл бұрын
Cheers, thank you for the kind words!
@zikangxiong6931
2 жыл бұрын
This video gives quite a practical overview. Tools like ldd and those flags are really most frequently used in any meaningful projects. Only those who really use C/C++ can summarize it in such a concise but practical way!
@MikeShah
2 жыл бұрын
Thank you for the kind words 🙂 I try to make the videos I wish I had when learning such topics. Welcome to the community!
@hsociety428
2 жыл бұрын
Bro this channel is soo damn underrated-- you should have like billion views on this video and billion subscribers
@MikeShah
2 жыл бұрын
Thank you for the kind words! :) Feel free to share
@sabrinagschwendtner276
3 жыл бұрын
Thank you for this video! It helped me understand a lot of concepts that I missed or that weren't even included in my lectures in the first place. I have my bachelor's exam in a little over a week, so I am currently trying to fill the gaps in my knowledge and you definitely helped me with that! :D
@MikeShah
3 жыл бұрын
You're welcome! Please suggest if anything else remains unclear
@nik-ys8ki
2 ай бұрын
Very good and explained video ,this is called quality content 😃
@MikeShah
2 ай бұрын
Cheers!
@oscarmvl
2 жыл бұрын
What a great video! It was great to find such a cohesive video about the compiling process, thank you for creating this!
@MikeShah
2 жыл бұрын
You are most welcome!
@olegwizex588
2 жыл бұрын
Thank you! Great video and explanation.
@lln6123
4 ай бұрын
great explanation! Nice to see a Linux command-line approach, since now I just saw Visual Studio
@MikeShah
4 ай бұрын
Cheers!
@husenpatel9381
2 ай бұрын
Its amazing to figure out how many layers of abstraction we are living upon. not to mention python or javascript like langauges which are much higher level than c++.
@MikeShah
2 ай бұрын
Indeed -- somehow it mostly all works :)
@min-yenlu1119
2 жыл бұрын
This is a really great video!!! I hope that I could see it when I started learning programming.... This contains everything you need to learn for compiling process.... It would have spared lots of wasted time.
@nikolasyo1383
11 ай бұрын
Nice Video!!! So many things make sense now. I tried to include SDL in my C++ project on windows some days ago. Sould have watched this video before. would have saved me a lot of trouble.
@MikeShah
11 ай бұрын
Cheers, happy to have helped!
@kleinv7212
3 ай бұрын
Bless you bro, thanks a bunch. It's very understandable👍🏻
@MikeShah
3 ай бұрын
Cheers!
@ДмитроЛизун-у2я
7 ай бұрын
Thank you for making difficult things seem easy 😍
@MikeShah
7 ай бұрын
Cheers!
@nicholasziglio
5 ай бұрын
Thanks, this was really informative and useful!
@MikeShah
5 ай бұрын
Cheers!
@englishlnowledge486
8 ай бұрын
Most underrated channel, Such explanation not able to find on other youtube channel or even paid courses, Have you provide your course on udemy??? Thank You!
@MikeShah
8 ай бұрын
Cheers, thank you for the kind words 🙂 I have some courses here: courses.mshah.io/ -- I *may* consider also putting them on Udemy in the future
@jfr644
5 ай бұрын
Thank you for the great explanation! The only thing that raised doubts was the $PATH variable. It seems, it only indicates the location of the programs binaries to be executed within the shell without specifying their full path, not the shared libraries paths (resolving them by g++ seems to be more complicated since it is not controlled only with environment variables). The whole idea is clear though
@samarthtandale9121
6 ай бұрын
Thank you for the valuable lecture Sir!
@MikeShah
6 ай бұрын
Cheers, you are most welcome!
@peyman_shabani
10 ай бұрын
Thanks Mike it was really great, I watched whole video non stop❤😅
@MikeShah
10 ай бұрын
Excellent!
@dontbemadsunshine
3 жыл бұрын
This is awesome. Im doing a masters in a.i. next year and we will be having to use a lot of different languages throughout the course, i thought learning c/c++ would be advantageous as my first language. Thanks you very much for this!
@MikeShah
3 жыл бұрын
Awesome glad this was helpful! Good luck with your master's!
@caiodavi9829
Ай бұрын
thanks! it helped me a lot
@MikeShah
Ай бұрын
Cheers!
@yumiyonashi8518
4 ай бұрын
thank you sir..Helps a lot..
@MikeShah
4 ай бұрын
Cheers!
@willianpessoa1011
5 ай бұрын
This video has been incredibly helpful to me. Thank you for sharing. I've been a subscriber to your channel for some time now. I stumbled upon it while researching Design Patterns (which I'm still trying to master), but this video greatly assisted me in completing a questionnaire for my Computer Science Coursea at UFRJ I genuinely appreciate your content and aspire to become a professional like you in the future.
@MikeShah
5 ай бұрын
Cheers, thank you for the kind words! I'm very happy this helped!
@KeplerEmeritus
2 жыл бұрын
Dude. Thanks. The most informative and comprehensive video I’ve found on the topic. Unfortunately, quenching this thirst gave me the hunger to dive deeper again… I want to see what assembled machine code looks like in the file… would we just see 1s and 0s?
@MikeShah
2 жыл бұрын
You are most welcome! Yes it's fun to see and know how it all comes together!
@Kirmo13
Жыл бұрын
I've never thought of using gimp as a whiteboard!
@DocteurZeuhl
Жыл бұрын
Thank you so much for this video. It really helped me put together every piece of information I have gathered along the way so far, and already gave me ideas on how to solve the (pretty sophisticated) linking issues I am currently facing. Incredible video ❤
@MikeShah
Жыл бұрын
Cheers!
@samdavepollard
Жыл бұрын
Superb video. Super useful. Many Thanks for sharing your knowledge. Easy sub. As an old fart hobbyist, currently getting back into C++, I'm amazed how few C++ resources, be they books or online courses, cover this build stuff in any detail. It seems most of them want you installing Visual Studio etc on day one, then there's a bit of magic hand waving, assuring you that the IDE will take care of all these things, and I'm sure it will, but I do like to know what my tools are doing for me. Then I try to install raylib and I become painfully aware that I don't have a clue about building from the command line. Again, Many Thanks for sharing your knowledge. I really like your teaching style. I noticed you have series on C++ itself, and also SDL2. I have a feeling I may end up using SDL2 instead of raylib. :-)
@MikeShah
Жыл бұрын
Cheers thank you for the kind words! I agree, knowing how the tools work is very important 🙂
@oribuun
Жыл бұрын
Thank you so much for this amazing tutorial!
@MikeShah
Жыл бұрын
Cheers, you are most welcome!
@trido3815
10 ай бұрын
Very good instructions. Thx.
@MikeShah
10 ай бұрын
Thank you for the kind words!
@DCKUR
2 жыл бұрын
Very detailed, thanks for creating this video :)
@MikeShah
2 жыл бұрын
Thank you for the kind words!
@deutschWallah
10 күн бұрын
Fantastic Mike :)
@MikeShah
10 күн бұрын
@@deutschWallah cheers!
@mostafaelgablawy164
2 жыл бұрын
thank you sir that's a great vedio I have ever seen about compilations
@MikeShah
2 жыл бұрын
You are most welcome!
@mostafaelgablawy164
2 жыл бұрын
@@MikeShah please I have a question when we include more times in several obj files what we had include exactly I found all the functions of iostream in every obj file I thought that I will get a linker error but that wasn't happen
@MikeShah
2 жыл бұрын
@@mostafaelgablawy164 You mean none of the functions have been found? When you #include then you gain access to each of the functions (iostream provides the declarations in the header file). The appropriate libstd++ libraries will then be linked by the linker to implement those functions (e.g, std::cout)
@mostafaelgablawy164
2 жыл бұрын
@@MikeShah thank you so much
@wika96
Жыл бұрын
Great video Mike. Thank you very much.
@MikeShah
Жыл бұрын
Cheers!
@saivivekvalluru1369
Жыл бұрын
Loved it! Really very useful info for c++ developer like me
@MikeShah
Жыл бұрын
Cheers!
@310gowthamsagar5
7 ай бұрын
this is great !
@MikeShah
7 ай бұрын
Cheers!
@somenkumardas9839
2 жыл бұрын
A very good video... Very much enjoyed the learning. Thank you for the video.
@MikeShah
2 жыл бұрын
Cheers, thank you for the kind words!
@guilherme5094
2 ай бұрын
👏👏👏Great!
@r00ty
Жыл бұрын
so, just to avoid confusions please note nowadays (2023) - it's not really true that compiler outputs assembly code. GCC is the exception tho clang/LLVM, MSVC, and ICC all produce machine code directly
@MikeShah
Жыл бұрын
Source? I imagine most every optimizing compiler would be building an intermediate representation that is 'assembly-like' (LLVM it is bitcode or IR, gcc GIMPLE), and then generating machine code (assembly) after. Probably true if you've got the assembly you would just directly generate the object file (or maybe the executable object file if they wanted) -- but I'd be curious to learn more.
@r00ty
Жыл бұрын
hey@@MikeShah , did you delete my response?
@MikeShah
Жыл бұрын
@@r00ty Nope, sorry if it got lost! Sometimes KZitem deleted perfectly fine comments 🤷
@startengine8838
2 жыл бұрын
Awesome video. Very well explained
@MikeShah
2 жыл бұрын
Cheers, thank you for the kind words!
@pabloqp7929
Жыл бұрын
omg how good is this 🔥💫🌿
@MikeShah
Жыл бұрын
Cheers!
@stuartedward2965
Жыл бұрын
very helpful! thank you
@MikeShah
Жыл бұрын
Cheers!
@kacperkrol4394
Жыл бұрын
Great work!
@MikeShah
Жыл бұрын
Thank you! Cheers!
@ieduardoms
Жыл бұрын
Thank you very much. It was really valuable.
@MikeShah
Жыл бұрын
Cheers!
@creator_wizard_seth
Жыл бұрын
youre a genius
@MikeShah
Жыл бұрын
Cheers, thank you for the kind words!
@muhammetkocak6903
8 ай бұрын
I hope you make video series about makefile and cmake
@MikeShah
8 ай бұрын
Cheers, I am thinking more about this :)
@muhammetkocak6903
8 ай бұрын
@@MikeShah I saw you C++ course and I will dive into it soon. I like your teacing fluency and sound. this is important for me
@MikeShah
8 ай бұрын
Cheers -- thank you for the kind words!@@muhammetkocak6903
@NaveenKumar-cd8qh
2 жыл бұрын
Nice explanation, keep doing best 🙂
@MikeShah
2 жыл бұрын
Thank you for the kind words!
@tamajitbanerjee640
3 жыл бұрын
Thank you, sir !! The content was very good.
@peyman_shabani
10 ай бұрын
Mike could you please record some videos about Make or CMake, it will be great. 😊❤
@MikeShah
10 ай бұрын
Starting to plan something for Make. 👍
@ДимаК-в7е
10 ай бұрын
Thank you for this tutorial. Please open terminal in full screen next time, drawings does not fit in half screen anyway.
@MikeShah
10 ай бұрын
Cheers!
@Passions
6 ай бұрын
I would have never failed CS if you were my professor!!!!
@MikeShah
6 ай бұрын
Cheers, that's very kind! Always time to learn more :)
@EarlyBitcoiner
Жыл бұрын
Very good explenation! thank you! I start wondering now, what is the exe file and how it works?
@MikeShah
Жыл бұрын
Cheers! Take a look at pe and elf formats 🙂
@behrampatel4872
18 күн бұрын
Fantastic as usual. One thing that tripped me up on windows using the SDL library and ms vc++ is that we have to include a copy of an external dll file in the same folder as the binary. e.g copy the sdl2 dll in the folder where the exe is generated in order for the project to run. Is this also the case with linux ? Cheers, b
@MikeShah
17 күн бұрын
Cheers! For windows, linux, and mac there are default locations where processes will look for libraries (including the current directory). So for linux I believe when I install on a package manager, the .so file for SDL is put in a location that the system searches for by default :) (Thus no need to copy file into same directory)
@p.f.a.l.n.2280
8 ай бұрын
Thank you! So nice to find informative videos like this without a thick accent to parse
@ashkrish7537
3 жыл бұрын
Great content professor. 🙏🏻🙏🏻✌🏻✌🏻
@yashdeshmukh2662
2 жыл бұрын
thanks
@MikeShah
2 жыл бұрын
Cheers, you are most welcome!
@Ab_Irato
6 ай бұрын
Hey Mike, bit of weird question but is there a reason to use gcc -E foo.cpp over cpp foo.cpp, i sort of understood the nont traditional mode in gnu but would sort of like your take on it.
@MikeShah
6 ай бұрын
As I understand, I *think* 'gcc -E' is just invoking or rather telling the compiler to stop after running 'cpp'
@jeffsad8391
3 ай бұрын
I have question:As begginner what should you learn first math or computer arhitecture ?
@MikeShah
3 ай бұрын
Probably best to learn a little of both as you go along -- however, if you start learning computer architecture, when there's some math you don't understand, you take the time to learn that math before proceding. So you don't necessarily have to learn one in a silo :)
@jeffsad8391
3 ай бұрын
@@MikeShah but what is order în learning? Math,computer arhitecture and organization,bios,operating system=what is the order to learn ? Beceause I need help
@MikeShah
3 ай бұрын
@@jeffsad8391 Start with a simple project (e.g. a game) and learn as you go.
@jeffsad8391
3 ай бұрын
@@MikeShah like a little project?
@MikeShah
3 ай бұрын
@@jeffsad8391 exactly! Believe it or not, even the simplest of projects will reveal what to learn 🙂
@InsocialDev
9 ай бұрын
We got the same last name ,mine is Shah too. Meet Shah
@MikeShah
9 ай бұрын
Excellent!
@AteshEfe
Ай бұрын
how can i use terminal like that?
@MikeShah
Ай бұрын
I have a video on the terminal here: kzitem.info/news/bejne/0YqM3o5-kKV7oYo and Tmux (to get the splits) here: kzitem.info/news/bejne/mZyw3ISwboJhhGk in the future I'll have a course on terminal with all of these skills and more on courses.mshah.io/
@coolwinder
4 ай бұрын
29:29 - If you are not providing an -c, which would enable valid gcc run, without a need of full source file, as onlt object file will be produced... Why are you naming the output which would now be an executable with .o extension?
@MikeShah
4 ай бұрын
At 29:58 I mention that indeed this does not make sense to do :) I'm slowly introducing the idea of executable object files versus regular object files that can be linked together.
@coolwinder
4 ай бұрын
@@MikeShah executable object, wuut, i am in suspece now... will there be another part?
@MikeShah
4 ай бұрын
@@coolwinder I will indeed 🙂 There's actually (at least) 3 types of object files -- shareable, executable, and the static files with .o. We just call them by different names, but they're all 'object' files
@coolwinder
4 ай бұрын
@MikeShah i can't wait then! Truly amazing content! :)
@MikeShah
4 ай бұрын
Cheers @@coolwinder
@HackDiary1
Ай бұрын
39:41
@edhermisaelcarbajalrosales1613
Жыл бұрын
tldr; Useful flags when compiling with gcc -E Preprocess only; do not compile, assemble or link. -S Compile only; do not assemble or link. -c Compile and assemble, but do not link.
@azeemali6865
5 ай бұрын
Command 'xdot' not found
@MikeShah
5 ай бұрын
What command did you run? 'xdot' is a program you can likely install on your package manager.
@azeemali6865
5 ай бұрын
@@MikeShah yes... After installing it's now working...
@zfl1981
2 ай бұрын
Now do modules 😅
@MikeShah
2 ай бұрын
That's the plan for the next video 😁
@mnj1
2 жыл бұрын
Well, the Java or JavaScript way of doing things is completely different from C/C++, so your introduction is not completely accurate. JS is an interpreted language and Java is a language that relies on a virtual machine and intermediary language.
@MikeShah
2 жыл бұрын
True that a interpreted languages and JIT compiled languages go through different variations (or even omit) some of the stages.
@Coding-to4zj
7 ай бұрын
twisting simple concepts. do you have adhd? just write down what you want to talk about its so unefficient
Пікірлер: 154