Комментарии:
Great video, the deepest and best explanation I ever seen. However, I have a question. When you explained about the files with objdump, they show that symbols (functions in this case), have a fix direction in memory, haven't they. So every time the program (process) in load into memory, symbols are held in the same memory location? What happend if those directions are occupied by another process?
ОтветитьThough I am a student, how can I support your course by a little financial amount. It's soooo good, I don't wanna learn for free!
ОтветитьGreat video. For me, -static gave me linking errors. What would be the reason?
Ответитьwhy don't we need to link the libc ... like -lc or something?
ОтветитьAmazing explanation and demonstration with enough detail to have semi low level look on how linking takes place!
ОтветитьSuper good, deep and understandable
ОтветитьThis is by far the best linker video! Kudos to you!
ОтветитьThanks a lot for making this video. Very detailed and precise at the same time. The best video one can create to explain Static and dynamic linking in detail.
ОтветитьYour vids are gold for C newbs like myself. Thank you sir!
ОтветитьThis video is gold.
ОтветитьExcellent and well-presented video. Please upload more soon.
ОтветитьI have seen many books and blogs about dll. This video illustrates the best.
ОтветитьI love u
Ответитьquestion: the maths library -- description did not have an interpretor entry, where as C-lib so had one. Both are .so. So is this interpretor entry in .so an optional thing?
Ответитьvery clear and easy to understand video thank you
ОтветитьThis is the most helpful video I've watched on the subject. It's helped me a lot thanks.
ОтветитьThanks for this video. Very clear explanation of static and dynamic linking. Question: how do I set up the gcc command line to just statically link one library with the rest of the libraries dynamically linked? For example, I want to statically link libxml2, but dynamically link the c library. This would handle the case where a target machine doesn't have libml2 but does have the c library.
Ответитьso usefull and easy to understand !! great job
ОтветитьWhen static is the object file calling a pointer for the entry point of puts, time and so one?
ОтветитьThank you so much...It was vry helpful!
ОтветитьFor the link process is relevant the order of -l params?. I had a project of c++ with cmake / qt and another libraries. With full static link. But when i change the order in cmake target_link_library, i get a lot of unresolv symbols error messsges from the linker. Only in one specific order in the static libraries list work. If you like i can share the git repo by this way.
ОтветитьStraight to the point with enough detail needed to understand ! Great !
ОтветитьLet's say you are trying to compile a program for two different Linux distros, Ubuntu 20.04 and Manjaro 20.2. And let's say the program is dynamically linked to a library that has a different name and location on each distro. How exactly do you specify the name and location when you are compiling for each distro?
ОтветитьExcelletn video, and hope you can make another video to explain more detail about how main find the real function of printf by plt, and more about the resolve function _dl_runtime_resolve
ОтветитьExcellent tutorial
ОтветитьSir your content is amazing. I planned to watch all your playlist tonight
ОтветитьThere is(maybe was) a bug in Libmagic which shows PIE as shared lib
ОтветитьThis is really great, so clear and the help of small diagrams were really helpful. Even my university cannot do a better work in making student learn as you. thanks a lot for your work. Hope you will upload more soon
ОтветитьSir,
Do all the functions code that is in header files get copied during static linking or only those functions which are called in our program get copied?
Clean and clear, thank you. This is exactly what I've been looking for
ОтветитьGreat Job, please keep it up, practical demo was awesome
ОтветитьVery good video
ОтветитьGreat video! I have a project using libusb-1.0. But after adding -no-pie to the compiling flag, I used your command to check
$ readelf -a myapp | grep Shared
0x0000000000000001 (NEEDED) Shared library: [libusb-1.0.so.0]
libusb is still dynamically linked, not static. Do you know why? Thanks!
Nice video. Keep posting!
ОтветитьThanks for interesting video. I have one question. How does dynamic linker know if the shared library, which is used by the process which is being started, is already loaded somewhere into the memory (because other already running process is using it), or it is not yet in the memory? Does dynamic linker have some internal structure that it uses to record which shared library was already loaded to avoid attempt of loading it again? How this part work?
ОтветитьThis is a great video. Good work. Hail Lobster 🦞.
ОтветитьVery well done, thank you so much.
Ответитьextremely useful sir, thanks for sharing your knowledge
Ответитьnice 👍👌
ОтветитьHigh quality educational vid, thank you sir.
ОтветитьIncredibly helpful! Just what I needed, great video!
ОтветитьGreat video 👍. Very informative.
Ответитьreally helpful.. guys you will get xtra knowledge
Ответить