【问题标题】:Where to find my system's implementation of standard C library functions?在哪里可以找到我的系统对标准 C 库函数的实现?
【发布时间】:2011-05-31 21:18:11
【问题描述】:

例如,strrev() 函数。我知道它是在 string.h 中声明的,我想弄清楚它是如何实现的。那么我在哪里可以找到源代码?

操作系统:Windows XP SP3
IDE:Pelles C 6.50 RC3

【问题讨论】:

  • 正如乔纳森所说,您应该指定您正在使用的系统。
  • 另外,strrev 不是标准 C。请参阅 Open Group 的 string.h
  • 抱歉,我认为它与平台无关。
  • 再次为错误的示例感到抱歉。但是像“string.c”这样的文件存在吗?

标签: c libc string.h


【解决方案1】:

如果您只想查看标准 C 库的一个实现的源代码(尽管它被广泛使用),glibc 的源代码是可用的。您可以克隆 git 存储库:

git clone git://sourceware.org/git/glibc.git

您还可以在浏览器中检查源代码。例如,这里是string library

glibc 不包括 strrev()。但是,如果您使用 Google 搜索

strrev c

您将获得各种实现的成功。例如:http://www.cas.mcmaster.ca/~kahl/SE2S03/2006/C/strrev.cftp://ftp.ecs.vuw.ac.nz/pub/libs/libstrings/strrev.c

【讨论】:

    【解决方案2】:

    这取决于您的特定编译器将它放在哪里。许多编译器不提供库源代码。

    【讨论】:

    • 这是一个我没用过的不起眼的产品。你怎么知道这个包包含库源?
    • 没有。它不提供源代码文件。而是包含许多 *.lib 文件。
    猜你喜欢
    • 1970-01-01
    • 2016-07-06
    • 2019-07-31
    • 2011-11-12
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多