2 ms·
In practice it's transparent, like using a static library. The linker handles it all for you during compilation: it stores the paths at a special section in you
by ratww 6y ago
In practice it's transparent, like using a static library. The linker handles it all for you during compilation: it stores the paths at a special section in your executable, and a injects a dynamic linker in your code.
The paths can be either absolute (for system libs) or relative (useful for distributing Bundled apps).
The cool thing is that you can see those hardcoded paths using otool -L and you can modify them using install_name_tool. Useful for debugging misbehaving closed-source tools.