加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 23:07:25 所属栏目:Linux 来源:网络整理
导读:我是 Linux / C的新手. 在我的Linux上的glibc(eglibs-2.15)源代码中,我只能在/libio/stdio.h中找到puts()声明 extern int puts (__const char *__s); 但无法在glibc源中找到puts()的来源.我的猜测是puts()依赖于系统,其来源是其他地方. 问题:我在哪里可以找
我是 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).

为什么会这样?

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读