我正在time.h中搜索localtime()函数的实现。我看到不同的平台有不同的c库源位置。我想知道Ubuntu 14.04中的位置?如果默认情况下源不包含在操作系统中,请告诉我如何下载源的源位置或在线位置。 谢谢。
答案 0 :(得分:2)
检查系统使用哪个二进制文件作为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源。