Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
时间的位置。h->;localtime()在Ubuntu中的实现?_C_Ubuntu - Fatal编程技术网

时间的位置。h->;localtime()在Ubuntu中的实现?

时间的位置。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

我正在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
    

    并在当前目录中的目录中查找源。

    通常,linux发行版上不存在libc的源。只有标题。在这种情况下,我可以看到localtime()实现的任何联机位置?想知道时区信息是如何被检索和处理的……请从家中获取源libc6,您将在home-directory的新文件夹中找到libc6的源。libc的(gnu)源。顺便说一句:我猜时区信息被编译成某种跳过列表。好的,首先检查您的系统使用哪个二进制作为libc实现,然后检查哪个包提供这个二进制,最后
    apt-get-source
    这个包的源代码。我以前的评论假设包是
    libc6
    。我认为应该是libc.so.6而不是libc6.so.6?