LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1066|回复: 4

在线请教各位达人有关pthread_rwlock_t的问题!

[复制链接]
发表于 2007-4-13 13:41:42 | 显示全部楼层 |阅读模式
#include  <stdio.h>
#include  <stdlib.h>
#include  <pthread.h>
#include  <errno.h>

int main()
{
     int err;
     pthread_rwlock_t  lock;
     err=pthread_rwlock_init(&lock,NULL);
     if(err!= 0) {
             printf("%s\n",strerror(errno));
             exit(1);
     exit(0);
}

我在编译的时候报错:"pthread_rwlock_t" undeclared;parse error before "lock";
请问各位大虾解释下这是怎么回事啊?
发表于 2007-4-13 14:19:58 | 显示全部楼层
gcc test.c -o test -lpthread
你要用到多线程的库.所以需要后面一句话.
回复 支持 反对

使用道具 举报

发表于 2007-4-13 14:56:25 | 显示全部楼层
的确,记得GCC在使用到非ANSI的库类时,在编译时,如果在标准的/lib/,/usr/lib/路径中,需要指定库名.如果使用非linux标准库存储地的库时,还需要指定详细路径.
回复 支持 反对

使用道具 举报

发表于 2007-4-13 14:58:20 | 显示全部楼层
好怪,用fcitx,路jing4一词中,输出jing4竞然成了"径",看来是否是缺少这个字了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-13 15:30:13 | 显示全部楼层
解决了,如果只是在后面加上-lpthread,仍然不能编译成功,还要在编译时加上选项-D_GNU_SOURCE才能通过编译!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表