25 lines
928 B
C
25 lines
928 B
C
|
#include <stdio.h>
|
|||
|
#include <sys/types.h>
|
|||
|
#include <sys/ipc.h>
|
|||
|
|
|||
|
// ftok()函数用于获取消息队列的键值
|
|||
|
int main()
|
|||
|
{
|
|||
|
// 获取消息队列的键值,返回值是一个整数,表示消息队列(IPC)的键值
|
|||
|
key_t key = ftok("/", 26);
|
|||
|
printf("key = %d\n", key);
|
|||
|
|
|||
|
// ftok()函数的第一个参数是路径,第二个参数是索引值
|
|||
|
// 索引值是一个整数,范围是0~255,用于区分不同的消息队列
|
|||
|
// 超过255的索引值会被截断,例如256会被截断为0,257会被截断为1,相当于循环使用
|
|||
|
key_t key2 = ftok("/", 26);
|
|||
|
printf("key = %d\n", key2);
|
|||
|
|
|||
|
int mask = 0xff; // 0b11111111 低8位掩码
|
|||
|
printf("mask = %d\n", mask);
|
|||
|
// 低8位掩码与key进行与运算,得到低8位
|
|||
|
printf("key & mask = %d\n", key & mask); // 用于获取低8位
|
|||
|
printf("key2 & mask = %d\n", key2 & mask); // 用于获取低8位
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|