Compiling, assembling, and linking

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 พ.ย. 2024

ความคิดเห็น • 86

  • @mrarcticaaa1101
    @mrarcticaaa1101 6 ปีที่แล้ว +271

    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.

    • @roronoa_d_law1075
      @roronoa_d_law1075 4 ปีที่แล้ว +2

      ikr

    • @Jason-ep3zb
      @Jason-ep3zb 4 ปีที่แล้ว +11

      You will be more amazed when you go down to the hardware level

    • @exoticcoder5365
      @exoticcoder5365 3 ปีที่แล้ว +2

      agree

    • @saudude2174
      @saudude2174 2 ปีที่แล้ว +21

      there was never a single group of people who thought up and created all of this
      it is a joint effort of many generations of engineers, that cost a lot of errors, sweat and difficulties along the way. This is why you're struggling to understand it quickly.

    • @randomaccount6146
      @randomaccount6146 ปีที่แล้ว +3

      ​@@Jason-ep3zbI'm in a limbo. I understand how the CPU works on low level and also how code works on higher level and now I'm trying to understand these things in between which for me are the hardest.

  • @ngonidzashemwanjira208
    @ngonidzashemwanjira208 5 หลายเดือนก่อน +4

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

  • @BirthBabies
    @BirthBabies 7 ปีที่แล้ว +32

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

  • @ajjaatarskywalker917
    @ajjaatarskywalker917 7 ปีที่แล้ว +9

    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
    @Muaddibkhan 5 ปีที่แล้ว +14

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

  • @perseusz1691
    @perseusz1691 2 วันที่ผ่านมา

    Super useful video! Thank you very much!

  • @contentdesignwizardry2458
    @contentdesignwizardry2458 2 หลายเดือนก่อน

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

  • @samar7190
    @samar7190 2 ปีที่แล้ว

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

  • @vedantsgoodlife7302
    @vedantsgoodlife7302 3 ปีที่แล้ว +1

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

  • @AnantaAkash.Podder
    @AnantaAkash.Podder 5 หลายเดือนก่อน

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

  • @Donna_9qwx
    @Donna_9qwx 3 หลายเดือนก่อน

    Sarcastically wishing you unending smiles.

  • @huynhsonnguyen970
    @huynhsonnguyen970 9 หลายเดือนก่อน

    your explaination is better than my prof. Thank you!

  • @WilliamDavidMartin
    @WilliamDavidMartin ปีที่แล้ว

    Excellent work you got another subscriber and a like!!

  • @ZirTaaah
    @ZirTaaah ปีที่แล้ว

    Best video on the subject ty !!

  • @trueopinion100
    @trueopinion100 ปีที่แล้ว

    Excellent work...really made it easy to understand

  • @graemechetcuti
    @graemechetcuti 4 ปีที่แล้ว +4

    This was really clear thank you.

    • @khaben6986
      @khaben6986 4 ปีที่แล้ว

      Exactly I really liked it ^^ and yeah I discovered this channel in quarantine days 😊

  • @ten_tego_teges
    @ten_tego_teges 4 ปีที่แล้ว +1

    Excellent video, thank you so much!

  • @icojb25
    @icojb25 ปีที่แล้ว

    Great video, thank you

  • @GeekyMino
    @GeekyMino 4 ปีที่แล้ว +1

    Excellent tutorial man!

  • @shaurakar
    @shaurakar 7 ปีที่แล้ว +1

    Best explanation I ever found on youtube :) ...Thanks a lot!!!

  • @fullmetalsmash001
    @fullmetalsmash001 3 ปีที่แล้ว

    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.

  • @sontapaa11jokulainen94
    @sontapaa11jokulainen94 5 ปีที่แล้ว +3

    You just earned a sub.

  • @sergiojimenez3445
    @sergiojimenez3445 7 ปีที่แล้ว +8

    suscribed, nice microlecture

  • @mohammadahmedragab837
    @mohammadahmedragab837 3 ปีที่แล้ว

    amazing simple concise very useful explanation , I am gale to find this video :)))

  • @vizzymove
    @vizzymove 4 ปีที่แล้ว

    Thanks for the clear explanation!

  • @KarenShea-c9k
    @KarenShea-c9k 11 หลายเดือนก่อน

    Great video! My question is what is different between static and shared libraries at either the compiling or linking step? Do the symbols that end up in the end executable look different for shared libs vs static libs?

  • @coreyhartman4510
    @coreyhartman4510 3 ปีที่แล้ว

    great video

  • @Vlfkfnejisjejrjtjrie
    @Vlfkfnejisjejrjtjrie 7 ปีที่แล้ว +1

    Excellent! Subscribed.

  • @nirajanbist2313
    @nirajanbist2313 3 ปีที่แล้ว

    Premium content... 😍 Thanks a lot 🙏

  • @reeb8587
    @reeb8587 2 ปีที่แล้ว

    such clear explanation! thank you so much

  • @TheCoolcat0
    @TheCoolcat0 7 ปีที่แล้ว +2

    Great work!

  • @cyk_official
    @cyk_official 7 ปีที่แล้ว +1

    Prof Herman is awesome

  • @To-mos
    @To-mos 2 ปีที่แล้ว

    Love the video except one little thing. I wish you opened the object file with a hex editor and not notepad++, it would be neat to see it in paired hex or just binary with the ASCII text to the side.

  • @eugenepark
    @eugenepark ปีที่แล้ว

    Nicely presented

  • @Ronald__u37
    @Ronald__u37 3 หลายเดือนก่อน

    Your guide to success: refund details and anticipated actions

  • @yahyaaouledamer1466
    @yahyaaouledamer1466 2 ปีที่แล้ว

    Great explanation

  • @cahitskttaramal3152
    @cahitskttaramal3152 5 ปีที่แล้ว

    Good explanation! Cheers mate!

  • @Lisa__5tmf
    @Lisa__5tmf 3 หลายเดือนก่อน

    Stay ahead of the game with an exclusive interview featuring Binance’s CEO on future developments

  • @Michael___054v
    @Michael___054v 3 หลายเดือนก่อน

    Exclusive access: interview with Binance CEO for insights into future developments

  • @Sandra_m06
    @Sandra_m06 3 หลายเดือนก่อน

    Binance's CEO discusses future developments in an exclusive interview - don't miss it

  • @contentdesignwizardry2458
    @contentdesignwizardry2458 2 หลายเดือนก่อน

    it's bizare to me that the compiler does not reduce it to like print(5) or whatever, I though removing code redundancies was its job.

  • @the-sunny-side-up
    @the-sunny-side-up 8 หลายเดือนก่อน

    Neat!

  • @kundansuryansh809
    @kundansuryansh809 6 ปีที่แล้ว +1

    very nice explaination!
    :)

  • @viditk
    @viditk 7 หลายเดือนก่อน

    What are these .seh commands? Are they an instruction for processor hardware or is it a reference to kernel function?
    If it's part of kernel function, does this mean that compilers are not just processor architecture specific but also OS specific?

    • @JohnCARD-xz1pl
      @JohnCARD-xz1pl 7 หลายเดือนก่อน

      😂 1:36 😢😮😮😮😅call🎉

    • @viditk
      @viditk 7 หลายเดือนก่อน

      @@JohnCARD-xz1pl what?

  • @dimitrijep7872
    @dimitrijep7872 5 ปีที่แล้ว

    thank you for good explanation!

  • @contentdesignwizardry2458
    @contentdesignwizardry2458 2 หลายเดือนก่อน

    why does it call a subtraction function when the original code only had addition?

  • @James-c9James__r3
    @James-c9James__r3 3 หลายเดือนก่อน

    Behold! The BTC transaction has safely reached our coffers.

  • @HriataKC
    @HriataKC 11 หลายเดือนก่อน

    Is this the Organic Chemistry Tutor?

  • @uzivatel123
    @uzivatel123 ปีที่แล้ว

    thank you so much

  • @forzafaruandrei
    @forzafaruandrei 5 ปีที่แล้ว +2

    Thanks for the video! I got, however, a question. The compilation step to assembly language is always taking place? Aren't compilers that transform the source code directly into binary?

    • @Calm_Energy
      @Calm_Energy 5 ปีที่แล้ว +6

      It depends on the compiler, in GCC's case source code does go to assembly then machine code. If you are compiling with gcc on the command line you can -S to generate an assembly file so you can see it.

  • @domaincontroller
    @domaincontroller 4 ปีที่แล้ว

    You fucking rule !

  • @hamahawlery7194
    @hamahawlery7194 5 ปีที่แล้ว

    Thank you.

  • @William__0p5
    @William__0p5 3 หลายเดือนก่อน

    Brace yourself, important refund info coming through!

  • @qugh3173
    @qugh3173 6 ปีที่แล้ว

    legend

  • @chiraggupta2645
    @chiraggupta2645 4 ปีที่แล้ว

    Why is everything NULL for the object file (in binary code) Also why does it have the words main and the name of the file in there?
    Shouldn't an object file only consist of zeros and ones.

    • @matthewevans9838
      @matthewevans9838 4 ปีที่แล้ว +1

      To answer your questions, it basically comes down to the text editor trying to convert the binary into characters because their purpose is to output human readable text in general. It is looking at the binary in terms of bytes rather than each individual bit. So instead of printing out 10110... it outputs a character that is mapped to that binary number. This is where character encoding comes in to play. In ASCII/ANSI "65" or "1000001" is mapped to "A" as an example.
      Because the file is giving instructions to the computer to perform certain tasks rather than being used to display human readable information, it is gibberish. The black NULL you see is a "character" mapped to 00000000. In his text editor, the black boxes shown are all "character" that aren't really meant to be used in human readable files like a text file. Here is a link to the ASCII table: www.asciitable.com/

  • @Whatisknowledge247
    @Whatisknowledge247 3 ปีที่แล้ว

    how many pieces do a linker links?

  • @saumyojitdas4212
    @saumyojitdas4212 4 ปีที่แล้ว

    why is it that for only printf nothing is written how to execute it ..inside printf it is given to print integer in a given format
    what do u mean by label in printf().

  • @baurks
    @baurks 6 ปีที่แล้ว

    on mac, test.s looks completely different. sorry if i am being naive but is there something obvious that i am missing?

    • @matthewevans9838
      @matthewevans9838 4 ปีที่แล้ว

      There are a couple of things that could be in play. Assuming you have an Intel processor, it probably has to do with the differences in X86 Assembly calls made on OSX vs Windows.

  • @dorothynamulondo404
    @dorothynamulondo404 5 ปีที่แล้ว

    nice

  • @hunny8341
    @hunny8341 4 ปีที่แล้ว

    super helpful, thanks!

  • @Helen_5f
    @Helen_5f 3 หลายเดือนก่อน

    Behold, a system error has caused the transaction to venture to an invalid email address.

  • @sanusihassan7125
    @sanusihassan7125 3 ปีที่แล้ว

    What's an ISA?

  • @donfeto7636
    @donfeto7636 5 ปีที่แล้ว +1

    6 minutes for me it was 1hour

  • @something_different8968
    @something_different8968 ปีที่แล้ว

    thankssss

  • @mazharkhaliq1971
    @mazharkhaliq1971 9 หลายเดือนก่อน

    Thanks

  • @escapefelicity2913
    @escapefelicity2913 3 ปีที่แล้ว

    How can I produce a .com file?

  • @JohnCARD-xz1pl
    @JohnCARD-xz1pl 7 หลายเดือนก่อน

    😅 0:26 0:26

  • @LinnHabrock
    @LinnHabrock 3 หลายเดือนก่อน

    Your Bitcoin transfer has been successfully processed-congrats!

  • @JohnCARD-xz1pl
    @JohnCARD-xz1pl 7 หลายเดือนก่อน

    0:48

  • @havehalkow
    @havehalkow 4 ปีที่แล้ว

    That's not easy

  • @Anthony-v6Anthony__9e3
    @Anthony-v6Anthony__9e3 3 หลายเดือนก่อน

    Things are looking up-vital refund info

  • @ShujaRafi
    @ShujaRafi 6 ปีที่แล้ว

    nice

  • @Ty1er
    @Ty1er 3 ปีที่แล้ว

    Thanks

  • @youqube3544
    @youqube3544 5 ปีที่แล้ว

    Thanks