timespec的存储大小未知

时间:2017-03-04 15:24:49

标签: c linux gnu c99 timespec

我看过this解决方案,但我遇到了同样的错误。对于一个类,我们不得不切换到c99编译器而不是gnu,但现在timespec似乎被打破了。除了“timespec的存储大小未知”之外,我还得到了一堆其他错误,例如“CLOCK_MONOTONIC undeclared”,“取消引用指向不完整类型'struct timespec'的指针”,以及未使用的变量警告,但我认为这些会发生一旦我解决了编译器问题。

我不认为我声明timespec变量的方式有什么问题,

struct timespec startTime;

2 个答案:

答案 0 :(得分:8)

由于这种“时钟”支持不是C99而是POSIX,默认情况下不启用。

要启用它,您需要将选项-D_POSIX_C_SOURCE=199309L传递给编译器或放置

#define _POSIX_C_SOURCE 199309L

在相关源文件的最开头。

See also man clock_gettime for reference.

答案 1 :(得分:0)

C dialect 标志设置为 ISO C99 的 GNU 方言:

-std=gnu99