使用struct itimerspec的编译错误

时间:2015-05-11 18:28:43

标签: c

我正在尝试使用timerfd_create()和timer_settime()在C中编写一个计时器。 我正在使用CLOCK_MONOTONIC。但是,虽然我包含这些头文件,

#include <sys/timerfd.h>
#include <sys/time.h>
#include <sys/types.h>

struct itimerspec timerValue; //This is how i defined the structure
//some code
g_fdRetryTimer = timerfd_create(CLOCK_MONOTONIC, 0);

我一直遇到以下编译错误。

error: storage size of ‘timerValue’ isn’t known
error: ‘CLOCK_MONOTONIC’ undeclared (first use in this function)
error: (Each undeclared identifier is reported only once
error: for each function it appears in.)

请帮忙!感谢。

1 个答案:

答案 0 :(得分:0)

gcc&lt; 5.1.0默认标准为Method m = ClassLoader.getDeclaredMethods("defineClass", String.class, byte[].class, int.class, int.class); m.setAccessible(true); m.invoke(X.class.getClassLoader(), ...); 。版本5.1.0将默认值从-std=gnu90更改为-std=gnu90

您应该使用-std=gnu11编译代码,以使标识符-std=gnu99可用。

This answer可能会提供更多详细信息。