4

私はLinux/Cにとても慣れていません。

Linuxのglibc(eglibs-2.15)ソースでは、puts()宣言は/libio/stdio.hにしかありません。

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/vendor/netbsd/5-20091104/src/lib/libc/stdio/puts.c?rev=160)。

なんでそうなの?

4

1 に答える 1

6

glibcでは、putsは./libio/ioputs.cで定義されている_IO_puts関数にエイリアスされます。

于 2013-01-03T09:34:58.430 に答える