使用gcc 编译出现如下问题:
[root@localhost sem]# gcc main.c -pthread
main.c: In function ‘wait_pthread_function’:
main.c:69: error: ‘for’ loop initial declaration used outside C99 mode
[root@localhost sem]#
发现在for进行变量的声明。一般来说默认的gcc 的标准为C89,而在for中进行变量声明是在C99中进行规定的。有两种方式来进行对处。
第一种:修改代码,把for中的变量声明提出来。
第二种:在编译时追加编译选项:-std=c99,如下所示:
[root@localhost sem]# gcc main.c -pthread -std=c99
[root@localhost sem]#