In modern compiler toolchains, how are dynamically linked libraries implemented? Do they have any kind of internal architecture that optimizes the linking process? If I wanted to write my own dynamic library builder and/or dynamic linker, where would I begin?
I've been writing C/C++ for several years on both Windows and Linux and today I realized that I have basically no knowledge of this important tool in modern operating systems.