程序的装入和链接

程序执行之前,必须要为之创建进程。创建进程的第一步就是把程序和数据装入内存。

Linux环境下的可执行文件格式遵循ELF标准,具体内容参见相关的ELF文件格式。

下边给出北大翻译版的链接:ELF文件格式中文版。

这是TIS制定的ABI接口,与我们编程人员熟知的API不同,ABI是二进制编程接口。

程序的装入有3种方式:

  • 绝对装入方式(Absolute Loading Mode )
  • 可重定位装入方式(Relocation Loading Mode)
  • 动态运行时装入方式(Dynamic Run-time Loading )

程序的链接有2种方式:

  • 静态链接方式(Static Linking )
  • 动态链接方式(Load-time Dynamic Linking )

有一本书叫《连接器和加载器》,可以作为参考去理解。

如果是非计算机专业的爱好者,建议看看编译原理相关书籍去理解编译器的行为。

你可能感兴趣的:(程序的装入和链接)