时间的位置。h->;localtime()在Ubuntu中的实现?
我正在time.h中搜索localtime()函数的实现。我看到不同的平台有不同的c库源位置。我想知道Ubuntu 14.04中的位置?如果默认情况下操作系统中不包含源代码,请告诉我如何下载源代码或源代码的在线位置。 谢谢时间的位置。h->;localtime()在Ubuntu中的实现?,c,ubuntu,C,Ubuntu,我正在time.h中搜索localtime()函数的实现。我看到不同的平台有不同的c库源位置。我想知道Ubuntu 14.04中的位置?如果默认情况下操作系统中不包含源代码,请告诉我如何下载源代码或源代码的在线位置。 谢谢 检查系统使用哪个二进制文件作为libc实现 为此,编译一个最小的C程序并在其上运行ldd: ldd a.out 您可能会得到这样的结果: linux-vdso.so.1 => (0x00007fff429c6000) libc.so.6 => /lib/x86
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
提供的信息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
并在当前目录中的目录中查找源。通常,linux发行版上不存在libc的源。只有标题。在这种情况下,我可以看到localtime()实现的任何联机位置?想知道时区信息是如何被检索和处理的……请从家中获取源libc6,您将在home-directory的新文件夹中找到libc6的源。libc的(gnu)源。顺便说一句:我猜时区信息被编译成某种跳过列表。好的,首先检查您的系统使用哪个二进制作为libc实现,然后检查哪个包提供这个二进制,最后
apt-get-source
这个包的源代码。我以前的评论假设包是libc6
。我认为应该是libc.so.6而不是libc6.so.6?