Linux进程间通信--ftok

在C语言中,ftok函数用于生成一个唯一的键值,该键值通常用于创建共享内存,消息队列和信号量等系统资源的标识符。

ftok函数原型入下:

key_t ftok(const char *pathname, int proj_id);

 参数说明:

·pathname:一个存在的文件路径名目录路径名,用于生成键值,建议使用具有全局可见性的文件路径名。

·proj_id:一个用户定义的整数值,用于生成键值的低序8位,它也可以是字符型变量,因为这个整型值可以通过将一个字符转换为整数来获得。实际上,ftok函数会将第二个参数的最低字节(即最后8位)作为整型值使用,一个字符变量(char类型)刚好是一个字节,也就是8位。因此,传递一个字符变量作为第二个参数也是可以的。

ftok函数将通过对pathname的索引节点号(inode number)与proj_id进行异或操作生成一个唯一的键值。返回的键值类型是key_t,通常是一个长整型。

你可能感兴趣的:(数据结构,linux)