我有一个示例程序无法编译-std = c99
任何帮助赞赏
#include <pthread.h> int main(void) { pthread_rwlock_t myLock; return 0; } output of the two compiles: gcc pthread_test.c [brad@fedora17onbradsmacpro src]$ gcc pthread_test.c [brad@fedora17onbradsmacpro src]$ gcc -std=c99 pthread_test.c[brad@fedora17onbradsmacpro src]$ gcc -std=c99 pthread_test.c pthread_test.c: In function 'main': pthread_test.c:5:2: error: unknown type name 'pthread_rwlock_t' [brad@fedora17onbradsmacpro src]$
读写锁定是非标准的,并在<pthread.h>
中有条件地定义。
-std=c99
请求严格遵守标准(尽可能),并禁用语言扩展和额外的库。
如果您改为传递std=gnu99
,则将获得C99编译器版本以及默认情况下由gcc提供的所有扩展和额外功能。