The Mach-O File
程序经过编译器编译,将源代码编译成 .o
文件,被动态链接器链接,打包成可执行文件或者静态库,最后被用户执行,这是代码到可执行文件再到被计算机运行的整个过程。
今天我想根据之前看过的文章还有对动态链接器的了解,记录一下关于动态链接器的一切。
动态链接器
首先,我们上文提到的动态链接器 dynamic linker,你肯定见过它们在不同平台对应的链接文件,只是不知道它的名字而已。在 Microsoft Windows 系统,它叫 DLL (Dynamic link library),在遵循 ELF 可执行文件格式 的 Unix 系统(不包括 Darwin),你会看到一个 .so
(shared object) 拓展名的文件。在 macOS 和 iOS 系统,则有 dylib
(dynamic library)。