我正在尝试使用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.)
请帮忙!感谢。
答案 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可能会提供更多详细信息。