LinuxSir.cn,穿越时空的Linuxsir!

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

求助:Linux下线程读写锁的使用和编译(问题解决)

[复制链接]
发表于 2006-10-25 20:23:15 | 显示全部楼层 |阅读模式
本人在结构体上运用了读写锁,并有对该锁的所有操作.可在编译时,却总是提示找不到pthread_rwlock_t结构和相应的操作函数pthread_rwlock_***.
目前已做的努力原文件已经包含pthread.h文件)
①检查了phtread.h,发现读写锁的操作函数pthread_rwlock_***都在__USE_UNIX98或__USE_XOPEN2K条件编译宏之下,将以上两个宏加入了MAKEFILE;
结果:再次编译仍然找不到
②查看GCC手册,查找是否有设置这两个宏的编译选项.
结果:未找到与之相关的编译选项

望各方大虾指点迷津!!!!!万分感谢!!!!!!!!!
发表于 2006-10-25 23:21:17 | 显示全部楼层
把#include <pthread.h>放到文件最前面,再把#define __USE_UNIX98 放到它前面,试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-26 10:09:15 | 显示全部楼层
刚刚试了,结果一样,还是找不到!
难道在Linux应用程序中使用读写锁有什么特殊的限制?
回复 支持 反对

使用道具 举报

发表于 2006-10-26 10:22:34 | 显示全部楼层
我曾经做过一个iptables的子网管理软件,也在结构体中用到了锁,但是没有发现任何问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-26 11:31:48 | 显示全部楼层
一般的sem和mutex是可以直接用的,我在其他结构中使用了.但rwlock却始终编译通不过.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-27 12:54:09 | 显示全部楼层
难道就没有人在Linux下用过读写锁吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-30 19:34:25 | 显示全部楼层
有哪位大虾能帮我一下?
回复 支持 反对

使用道具 举报

发表于 2006-10-30 19:44:20 | 显示全部楼层
Makefile:
CFLAGS += -D__USE_UNIX98
Or in the file x.c
#ifndef __USE_UNIX98
#define __USE_UNIX98
#include <pthread.h>
#end
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-31 11:26:53 | 显示全部楼层
以上方法已经全部试过了。我怀疑__USE_UNIX98或__USE_XOPEN2K并不能通过加入条件编译宏来开启。是否有特殊的编译选项来控制的呢?
回复 支持 反对

使用道具 举报

发表于 2006-10-31 19:59:22 | 显示全部楼层
没有道理啊,你还是把详细过程发出来吧!
回复 支持 反对

使用道具 举报

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

本版积分规则

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