链接程序和库指南

直接调用

直接调用链接编辑器时,必须提供创建预期输出所需的每个目标文件和库。链接编辑器对创建输出时使用的目标文件模块或库不会作出任何假设。例如,当您发布以下命令时:


$ ld test.o

链接编辑器仅使用输入文件 test.o 创建一个名为 a.out 的动态可执行文件。要使 a.out 成为有用的可执行文件,应该包括用于启动和退出处理的代码。此代码可以特定于语言或操作系统,并且通常通过编译器驱动程序提供的文件提供。

此外,您还可以提供自己的初始化代码和终止代码。必须正确封装和标记此代码,以便运行时链接程序可以正确识别并使用代码。也可以通过编译器驱动程序提供的文件提供此封装和标记。

创建运行时目标文件(如可执行文件和共享库)时,应使用编译器驱动程序来调用链接编辑器。建议仅在使用 -r 选项创建中间可重定位目标文件时直接调用链接编辑器。