time.h的位置 - >在Ubuntu中实现本地时间()?

时间:2015-03-11 16:21:14

标签: c ubuntu

我正在time.h中搜索localtime()函数的实现。我看到不同的平台有不同的c库源位置。我想知道Ubuntu 14.04中的位置?如果默认情况下源不包含在操作系统中,请告诉我如何下载源的源位置或在线位置。 谢谢。

1 个答案:

答案 0 :(得分:2)

  1. 检查系统使用哪个二进制文件作为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提供。

  2. 检查哪个包提供此二进制文件。

    搜索提供1:。

    下找到的文件的包
    dpkg -S libc.so.6
    

    你可能会得到:

    libc6-i386: /lib32/libc.so.6
    libc6:amd64: /lib/x86_64-linux-gnu/libc.so.6
    

    上面的输出告诉你,提供文件的包有两个。这是32位和64位实现。

  3. 决定你想要哪一个,并apt-get source这个包的来源。

  4. 假设包是libc6,请执行

    apt-get source libc6
    

    在当前目录中的目录中找到thre源。