zoukankan      html  css  js  c++  java
  • 如何用ftok来产生相关的key_t值

    在System V中,我们经常用用key_t的值来创建或者打开信号量,共享内存和消息队列。这个在IPC的环境中十分的重要,比如说,服务器创建了一个消息队列,等待 客户机发送请求。那么如何创建或者打开已有的消息队列呢?一般而言,我们对于服务器使用的路径和项目id(proj_id)是已知的,所以客户机可以获取 相同的key来打开 消息队列并进行操作。下面就是ftok的使用原型:
    # include <sys/types.h>
    # include <sys/ipc.h>

    key_t ftok(const char *pathname, int proj_id);
    注意:
    1)pathname一定要在系统中存在
    2)pathname一定是使用进程能够访问的
    3)proj_id是一个1-255之间的一个整数值,典型的值是一个ASCII值。
    当成功执行的时候,一个key_t值将会被返回,否则-1被返回。我们可以使用errno来确定具体的错误信息(对于errno的相关信息,请参考http://blog.csdn.net/hello_wyq/archive/2006/08/01/1006216.aspx ),如果我们很懒惰的话,不妨就使用perror函数来答应对应的出错字符信息。
    下面的程序简单的演示和打印如何使用ftok及其对应值

  • 相关阅读:
    动画处理<并行和串行>
    flutter 动画 practice
    flutter AnimationBuilder
    flutter 动画
    Flutter Animation AnimatedBuilder
    Flutter 与 Android 的交互
    Flutter:教你用CustomPaint画一个自定义的CircleProgressBar
    Flutter裁剪图片
    Flutter 实现图片裁剪
    soundpool
  • 原文地址:https://www.cnblogs.com/hjslovewcl/p/2314345.html
Copyright © 2011-2022 走看看