目录

  • `key_t键`、`ftok函数`

key_t键ftok函数

key_t ftok(const char *pathname, int proj_id);
功能:通过ftok返回的是根据文件(pathname)信息和计划编号(proj_id)合成的IPC key键值。
返回值:成功:返回key_t值(即IPC键值);失败:-1,错误原因在error中
参数
pathname:指定的文件,此文件必须存在且可存取
proj_id:计划代号(project ID)===>"proj_id值的意义"让一个文件也能生成多个IPC key键值。ftok利用同一文件最多可得到IPC key键值0xff(即256)个,因为ftok只取proj_id值二进制的后8位,即16进制的后两位与文件信息合成IPC key键值。

key = ftok("./",'a');msg_id = msgget(key,IPC_CREAT|IPC_EXCL|0666);//创建
if(msg_id == -1)
{if(errno == EEXIST){//printf("key_t已经存在,打开已经存在的key_t\n");key = ftok("./",'a');msg_id = msgget(key,IPC_CREAT|0666);}else{perror("msget");exit(-1);}
}

key_t键和ftok函数相关推荐

  1. key_t键和ftok函数(转)

    key_t键 System V IPC使用key_t值作为它们的名字,在Redhat linux(后续验证默认都在该平台下)下key_t被定义为int类型,追溯如下: /usr/include/sys ...

  2. 【IPC通信】key_t键和ftok函数

    System V IPC分为三种: System V消息队列 System V信号量 System V共享内存区 这三种类型的IPC使用key_t值做为它们的名字.key_t这个数据类型在<sy ...

  3. key_t IPC键和ftok函数详解和剖析

    统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fname, int id ) fn ...

  4. ftok()函数解析

    ftok 消息队列.信号灯.共享内存常用在Linux服务端编程的进程间通信环境中.而此三类编程函数在实际项目中都是用System V IPC函数实现的.System V IPC函数名称和说明如下表15 ...

  5. ftok() 函数讲解 获取内核键值

    ftok() 函数之获取消息队列的键值 1.概述: 系统建立IPC通讯(消息队列.信号量和共享内存)时必须指定一个ID值,通常情况下,该ID值通过ftok函数得到. 2.原型: #include &l ...

  6. linux C -- ftok函数

    链接: linux C学习目录 原文链接:https://blog.csdn.net/u013485792/article/details/50764224 关于ftok函数,先不去了解它的作用来先说 ...

  7. ftok函数的作用:

    ftok函数的作用: 系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fname, ...

  8. ftok()函数的使用

    在上一篇文章中,Mayuyu讲述了共享内存的原理以及使用方法.在创建共享内存之前,必须指定一个ID值,而这个ID值通常是通过现在要讲的ftok()函数得到.ftok()函数原型如下 其中参数fname ...

  9. ftok函数的key值是如何产生的

    函数原型  key_t    ftok(const char *pathname, int proj_id) 函数作用 返回一个key值,这个键值是唯一的,可以用它来识别文件,作为文件的身份证号.之后 ...

最新文章

  1. 【Python之路】第二篇--初识Python
  2. 把本地mysql备份到服务器innodb_使用mysql备份工具innobackupex将本地数据 直接恢复 到远端服务器数据目录操作实例...
  3. 连信的protobuf数据格式
  4. 合成孔径成像算法与实现_西安光机所光学成像研究取得进展
  5. 四章: CentOS6.5 配置连接Windows远程桌面、创建新用户、禁用root在本地或远程使用ssh登录
  6. 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板…
  7. C/C++ 语言中的表达式求值
  8. RT-Thread pin设备驱动代码结构剖析
  9. PHP能不能让一串代码现实,一段让你认清现实的Java代码.java
  10. php无法用mail函数发送邮件之原因
  11. SQL-10 获取所有非manager的员工emp_no
  12. 兴奋:支持安卓(android)、苹果手机和平板电脑的WayOs版本
  13. Git linux下保存密码方法
  14. 初中理化生实验室仪器配置
  15. FTT暴雷加密熊市雪上加霜?如何对抗系统风险
  16. 有关如何用html制作电影影评网,初阶展示
  17. iphone6+总显示无服务器,iphone6一直显示无服务为什么啊
  18. ubuntu 16.04安装TP-LINK TL-WDN5200H无线USB网卡驱动
  19. python爬虫: 使用knn算法破解猫眼动态字体反爬
  20. 下一个汽车时代来临——诚迈科技赛道超车,布局“域控软件”

热门文章

  1. “机智号”火星直升机能不能撑过第一个火星冬天?
  2. rabbitmq默认guest无法登录的问题解决
  3. Windows下通过VNC访问Linux服务器(可视化界面)
  4. ubuntu 回到根目录,回到上一级 常用指令
  5. Potplayer倍速播放声音失真(回音)
  6. Jackknife 刀切法
  7. 【MNN学习六】基于Android的MNN编译安装
  8. 输入一个字符串并原样输出。
  9. 学计算机的会excel,轻松学电脑开机即会--EXCEL电子表格商务办公应用(附光盘)
  10. Android 平台语音通话及回音消除、噪音消除研究