我有一个简单的程序,C程序如何获取库函数的定义,如printf
#include<stdio.h>
void main()
{
printf(" Hello all \n");
}
-
在上述程序
- ,它是如何获得的库函数printf的定义。
- as printf是一个库函数,所以在我们的程序中它是如何链接和链接的,以及编译器如何知道链接哪个库。
- 上述程序中的哪一行指示编译器链接与printf相关的库。
我有一个简单的程序,C程序如何获取库函数的定义,如printf
#include<stdio.h>
void main()
{
printf(" Hello all \n");
}
stdio.h
(只是进行类型检查)。该定义本身位于C标准库(UNIX上的libc.so
)中。libc.so
,所以它总是找到这个定义。借助其他图书馆的其他功能,您必须自己找出并提供图书馆。在上面的程序中,它是如何得到库函数printf的定义的。
编译器可以以任何方式使其工作。最常见的方法是实际上有一个名为stdio.h
的文件,该文件具有该定义。
as printf是一个库函数,所以在我们的程序中它是如何链接的,它何时被链接,,,以及编译器如何知道链接哪个库。
编译器要么硬编码,要知道要链接到哪个库或者你必须告诉它。
上述程序中的哪一行向编译器指示链接与printf相关的库。
这取决于编译器。它可以检测到#include <stdio.h>
并链接库。它可以随时链接图书馆。如果你明确地问它,它只能链接图书馆。检查你的编译器的文档或询问一个特定的编译器。
一个这就是为什么它被称为标准库。