首页 > 解决方案 > 在 LINUX 中使用信号量

问题描述

我有一项任务要做并预测某个代码的输出。问题是 X 的输出是什么?,如果是,semarg.array 是否会以某种方式影响输出,那么如何?

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
union semun{
    int val;
    unsigned short *array;
    struct semid_ds *buf; 
    struct seminfo  *__buf; 
}
int main() { 
    int x, semid; 
    union semun semarg;
    semid=semget ( IPC_PRIVATE , 1 , 0600 ); 
    semarg.array=0;
    x=semctl ( semid , 0 , SETALL , semarg ); 
    printf ( "x=%d\n" , x ); 
    return 0;
}

标签: clinux

解决方案


推荐阅读