以下“玩具”代码代表了我在使用POSIX timers的较大代码库中遇到的问题。
#include <time.h>
#include <errno.h>
#include <signal.h>
#include <iostream>
using namespace std;
int main()
{
struct sigevent sevp;
long threadId = 5;
sevp.sigev_notify = SIGEV_THREAD_ID;
sevp.sigev_notify_thread_id = threadId;
return 0;
}
当我尝试g++
在 Linux 机器上编译它时,我得到了错误:
error: ‘struct sigevent’ has no member named ‘sigev_notify_thread_id’
有什么原因吗?这使我相信该sigevent
结构有一个名为sigev_notify_thread_id
.