链接器是否用于简单的C程序?

链接器是否用于简单的C程序?,c,linker,C,Linker,假设我有一个C源文件,它不包含对任何其他文件的任何引用。您可以假设它只包含- int main(void) { int a=5, b=10; } 此源文件是否将转到链接器?在这种情况下,链接器的任务是什么?会,因为链接器将被调用以形成可运行的可执行文件。无论是一个源文件还是多个源文件,每个翻译单元都将首先编译为目标文件,然后根据C的运行时链接以形成可执行程序。因此,即使您只看到一个源文件,链接器仍会将其链接到运行时。因为链接器将被调用以形成可运行的可执行文件。无论是一个源文件还是多个源

假设我有一个C源文件,它不包含对任何其他文件的任何引用。您可以假设它只包含-

int main(void) {
    int a=5, b=10;
}

此源文件是否将转到链接器?在这种情况下,链接器的任务是什么?

会,因为链接器将被调用以形成可运行的可执行文件。无论是一个源文件还是多个源文件,每个翻译单元都将首先编译为目标文件,然后根据C的运行时链接以形成可执行程序。因此,即使您只看到一个源文件,链接器仍会将其链接到运行时。

因为链接器将被调用以形成可运行的可执行文件。无论是一个源文件还是多个源文件,每个翻译单元都将首先编译为目标文件,然后根据C的运行时链接以形成可执行程序。因此,即使只看到一个源文件,链接器仍会将其链接到运行时。

如果不使用任何显式库,也始终需要链接器。无论如何,任何程序都需要在其二进制文件中包含操作系统基本启动指令,并且链接器将它们添加到可执行文件中

链接器总是需要的,如果您不使用任何显式库的话。无论如何,任何程序都需要在其二进制文件中包含操作系统基本启动指令,链接器将其添加到可执行文件中

链接器需要为操作系统构建可执行映像。您不能运行任何未链接的程序。但是,您通常看不到链接器正在运行。链接器生成CPU执行的实际机器指令。编译器只是为链接器生成中间人代码。为操作系统构建一个可执行映像需要另一个来自链接器的映像。你不能运行任何没有链接的东西。但是,您通常看不到链接器正在运行。链接器生成CPU执行的实际机器指令。编译器只是为链接器生成中间人代码。还有一个来自