#include #include // 系统数据类型定义 #include // IPC相关头文件 #include // 消息队列相关头文件 // msgget 函数用于创建消息队列,参数1是键值,参数2是权限 int main() { key_t key = ftok("/home/flykhan/", 200); // 获取消息队列的键值 printf("key = %d\n", key); if (key == -1) { perror("ftok"); return 1; } // msgget 函数用于创建消息队列,参数1是键值,参数2是权限 // 返回值是消息队列的标识符,类似于文件描述符 // IPC_CREAT 表示如果消息队列不存在则创建,如果存在则打开 // 0644 表示权限,类似于文件权限,表示所有者可读写,其他人只读 int msgqid = msgget(key, IPC_CREAT | 0666); // 创建消息队列 if (msgqid == -1) { perror("msgget"); return 1; } // msgqid 只要不是 -1 就表示创建成功 printf("msgqid = %d\n", msgqid); // 打印消息队列标识符 return 0; }