Linux gcc <time.h>和线程在一起

时间:2016-06-16 20:20:33

标签: c linux pthreads

我似乎陷入困境22。我的程序使用线程和信号量,所以我已经包含<semaphore.h>但我也想使用struct timespec,所以我已经包含<time.h>

似乎我需要添加编译标志-C99,以便定义我的信号量调用(否则我会在sem_post()之类的问题上得到未定义的编译警告)。但是当我定义C99时,struct timespec不再被定义了!

我需要设置什么定义或编译器标志才能使用struct timespecclock_gettime()等函数,定义CLOCK_REALTIMEsem_timedwait()以及sem_post()sem_destroy()等等?

我还没到达链接阶段。这是一个编译时错误。

使用gcc 4.4.7。

谢谢, 麦克

1 个答案:

答案 0 :(得分:0)

sem_post()等您不需要clock_gettime() - 这些是POSIX功能。

sem_post()等和-lrt等所需的唯一命令行参数是Traceback (most recent call last): File "C:\Users\test\Desktop\Summative\LukaLogin.py", line 119, in Snake snake = snakeSummative.main() File "C:\Users\test\Desktop\Summative\snakeSummative.py", line 178, in main playAgain(final) File "C:\Users\test\Desktop\Summative\snakeSummative.py", line 161, in playAgain for event in pygame.event.get(): pygame.error: video system not initialized