6

在 Linux 下使用时gcc,无需添加命令行选项即可使用printf. 在《GCC 简介》一书中,它解释了“C 标准库本身存储在 '/usr/lib/libc.a' 中并包含 ANSI/ISO C 标准中指定的函数,例如 'printf'——这个库是链接的默认为每个 C 程序。”
但是必须-lm在命令行中添加使用声明的标准库函数math.h,因为libm.a默认情况下没有链接。
那么其中包含了哪些标准库函数libc.a,因此不需要链接其他库文件。而除了libm.a,是否有任何其他标准库函数需要显式添加库文件以链接,以及库的文件名是什么?

4

1 回答 1

2

libc并且libm都处理所有 ANSI/ISO 函数。除此之外,Linux 和 UNIX 系统遵循 POSIX,其中包括libpthread(通常使用-pthread选项链接,而不是在库中显式链接),以及libiconv可能包含在libc. POSIX 中的其他库包括curseslibutil用于杂项功能。

于 2012-08-13T02:24:15.260 回答