在Linux下使用gcc
时,无需添加命令行选项即可使用printf
等标准库函数。在GCC简介一书中,它解释了“C标准库本身存储在‘/usr/lib/libc.a’中,并包含在
ANSI/ISO C 标准,例如‘printf’——每个 C 程序默认链接该库。”
但是必须在命令行中添加 -lm
才能使用 math.h
中声明的标准库函数,因为 libm.a
不是默认链接。
那么libc.a中包含了哪些标准库函数,因此不需要链接其他库文件。除了libm.a
之外,是否还有其他标准库函数需要显式添加要链接的库文件,该库的文件名是什么?
最佳答案
libc
和 libm
都处理所有 ANSI/ISO 函数。除此之外,Linux 和 UNIX 系统遵循 POSIX,其中包括 libpthread
(通常使用 -pthread
选项链接,不在库中显式链接)以及 libiconv
可能包含在 libc
中。 POSIX 中的其他库包括用于各种功能的 curses
和 libutil
。
关于c - libc.a 包含哪些标准库函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927459/