我正在 time.h 中搜索 localtime() 函数的实现。我看到不同的平台有不同的 c 库源位置。我想知道 Ubuntu 14.04 中的位置?如果默认源不包含在操作系统中,请告诉我如何下载源或源的在线位置。 谢谢。
最佳答案
检查您的系统使用哪个二进制文件作为 libc 实现。
为此编译一个最小的 C 程序并在其上运行 ldd:
ldd a.out
你可能会得到这样的结果:
linux-vdso.so.1 => (0x00007fff429c6000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f21cdcb7000) /lib64/ld-linux-x86-64.so.2 (0x00007f21ce05e000)
从这里您可以提取信息 libc 由
libc6.so.6
提供。检查哪个包提供了这个二进制文件。
搜索提供在 1. 下找到的文件的包:
dpkg -S libc.so.6
你可能会得到:
libc6-i386: /lib32/libc.so.6 libc6:amd64: /lib/x86_64-linux-gnu/libc.so.6
上面的输出告诉你,有两个包提供了这个文件。这是 32 位和 64 位实现。
决定你想要哪一个并执行
apt-get source
这个包的源代码。
假设包是libc6
,做
apt-get source libc6
然后在当前目录下的一个目录中找到thre source。
关于c - time.h 的位置 -> localtime() 在 Ubuntu 中的实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28991988/