⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nfc_semc.c

📁 unix下进行电报传输的源码。采用信号灯技术避免文件冲突等等
💻 C
字号:
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include "nfcnet.h"
main()
{ extern int errno;
  int status;
  union semun
  { int val;
    struct semid_ds *buf;
    ushort *array;
  };
/*
  About semget's args .
*/
  key_t key=P_SEMSKEY;
  int nsems=P_SEMNUMB;
  int semflg=IPC_CREAT|00660;
/*
  About semctl's args .
*/
  int semid;
  int semnum;
  union semun arg;
  semid=semget(key,nsems,semflg);
  if(semid==-1)
  { printf("semget(semid) is error !\n");
    printf("error NO. is %d\n",errno);
    exit(1);} 
  else
  { printf("semget(semid) is successfull !\n");
    printf("semid is %d\n",semid);} 
  semnum=0; arg.val=1;
  for(semnum=0;semnum<P_SEMNUMB;semnum++)
  { status=semctl(semid,semnum,SETVAL,arg);
    if(status==-1)
    { printf("semctl is error\n");
      printf("error NO. is %d\n",errno);
      exit(1);}
    else
    { if(semnum==0)printf("Sem setted:");
      printf(" %d",semnum);
      if(semnum==P_SEMNUMB-1)printf("\n");}
  }
  for(;;)sleep(600);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -