在glibc源代码中找不到puts()

时间:2013-01-03 09:30:43

标签: linux glibc

我是Linux / C的新手。

在我的Linux上的glibc(eglibs-2.15)源代码中,我只能在/libio/stdio.h中找到puts()声明

extern int puts (__const char *__s);

但无法在glibc源中的任何位置找到puts()的来源。我的猜测是puts()依赖于系统,其来源是其他地方。 问题:我在哪里可以找到puts()来源?

此外,在某些系统上看起来像puts()的源可用,例如在Apple上 (http://www.opensource.apple.com/source/Libc/Libc-186/stdio.subproj/puts.c)或NetBSD(https://www-asim.lip6.fr/trac/netbsdtsar/browser/供应商/ NetBSD的/ 5-20091104 / SRC / LIB /的libc / STDIO / puts.c?转= 160)。

为什么会这样?

1 个答案:

答案 0 :(得分:5)

在glibc中,puts别名为_IO_puts函数,在./libio/ioputs.c中定义