gmtime()在linux 64bit中抛出分段错误(核心转储)

时间:2014-10-14 07:03:18

标签: c archlinux

今天,我在Manjaro Linux(64位)中使用C的lib time.h进行了一些测试。

#include <stdio.h>
#include <time.h>

int main() {
    time_t localtime;
    time(&localtime);

    printf("local time: %s", ctime(&localtime));

    struct tm * utcTime = gmtime(&localtime);
    time_t gmtTime = mktime(utcTime);

    printf("local time: %s", ctime(&gmtTime));
    return 0;
}

我成功构建它,但是当我运行它时,行struct tm * utcTime = gmtime(&localtime);抛出异常:

local time: Tue Oct 14 13:22:41 2014
Segmentation fault (core dumped)

我正在使用Manjaro 64bit(Openbox),使用gcc 4.9.1构建。你知道这个问题吗?当我在窗口试试时,没关系。

2 个答案:

答案 0 :(得分:0)

您的代码是正确的。我用Manjaro Linux,gcc 4.9.2,clang 3.5.0和valgrind测试了它。崩溃意味着您要么没有显示原始代码,要么在其他地方出现问题。

答案 1 :(得分:0)

我在某个地方找到了答案。 这是BigArrayList
我fisrtly包括time.h但是编译器不识别它并返回值ctime。因此,有必要包含<pre>,以便编译器可以识别<pre> <?php $mystring = system('python get_files.py'); echo $mystring; ?> </pre> 函数。