Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.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
C gmtime()抛出linux 64位中的分段错误(内核转储)_C_Archlinux - Fatal编程技术网

C gmtime()抛出linux 64位中的分段错误(内核转储)

C gmtime()抛出linux 64位中的分段错误(内核转储),c,archlinux,C,Archlinux,今天,我在Manjaro Linux(64位)中使用C的lib time.h进行了一些测试 我正在使用Manjaro64位(Openbox),使用GCC4.9.1构建。你知道这个问题吗?当我在窗口中尝试时,一切正常。您的代码是正确的。我用ManjaroLinux、GCC4.9.2、Clang3.5.0和valgrind对它进行了测试。崩溃意味着要么您没有显示原始代码,要么其他地方有问题。我在某处找到了答案。 给你 我首先包括sys/time.h,但编译器无法识别它,它返回的值为int。因此有必要

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


我正在使用Manjaro64位(Openbox),使用GCC4.9.1构建。你知道这个问题吗?当我在窗口中尝试时,一切正常。

您的代码是正确的。我用ManjaroLinux、GCC4.9.2、Clang3.5.0和valgrind对它进行了测试。崩溃意味着要么您没有显示原始代码,要么其他地方有问题。

我在某处找到了答案。 给你

我首先包括
sys/time.h
,但编译器无法识别它,它返回的值为
int
。因此有必要包括
time.h
,以便编译器能够识别
ctime
函数。

使用调试器和/或valgrind来查明问题。您的代码在我的Linux系统上运行良好。使用
localtime
作为变量名不是一个好主意。这是标准函数的名称。也无法在此处重现错误。适用于不同版本的gcc和clang。请使用Linux发行版的帮助频道报告您的问题。投票关闭,因为错误不可再现。如果是这样,编译器应该在编译原始代码时发出警告/错误
#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;
}
local time: Tue Oct 14 13:22:41 2014
Segmentation fault (core dumped)