ftok( )操作的陷阱

本文分享了在使用ftok()函数过程中遇到的问题及解决办法。指出ftok()产生的key值可能不唯一,并建议通过ipcs命令检查重复的key值。同时强调避免使用系统目录作为参数,以防与其他程序冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期调试了一个Bug,最后发现是ftok( )产生的key值引起的,纪录下以备忘。

1. ftock产生的 key值不一定是唯一的

ftock一般传入不同的文件或目录,但有时,不同的名子会产生出相同的key值。
所以,可以通过ipcs命令查看一下key值是否已存在。

ipcs -s
ipcs -m

2. ftock文件指定要求

很多人一般会用系统目录,比如:
/tmp;/bin 等来创建 key值,但是如果有别的程序也用了这个名子创建key值,然后创建信号量或共享内存,
那么我们也创建了信号量或共享内存,那么在使用过程中就可以会出现问题。
所在传入的名子最好不要用系统的,而用程序自己的,比如:/usr/locale/myapp/lib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值