Search code examples
linkerlanguage-agnostic

How to know type of a linker


How can we know that which type of linker(static/dynamic) our system is using?

Is it decided on type of library(static/dynamic) we have used or is there any other thing?


Solution

  • Your toolchain (e.g. GCC + GNU binutils) will provide a linker (e.g. /usr/bin/ld) that you use to link programs (whether statically, dynamically, or a mixture of both) when you are building them.

    Your operating system will provide a dynamic linker (e.g. /lib/ld-linux.so) that loads the shared libraries (if any) required by a program and resolves symbol references at runtime, in accordance with the information encoded in the executable by the linker at build time.