c - 在 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;
}
解决方案
推荐阅读
- byte-buddy - 在 ByteBuddy 中附加远程主机进程
- mysql - 查询包含多个案例时查找下一个或上一个 ID
- lua - 如何使用 Lua 进行搜索过滤器读取文件并将条目存储为变量
- automation - 我可以使用什么语言(或框架)来构建自动在网站中执行某些特定任务
- python - pip install keras-retinanet==0.5.0 OSError: [WinError 193] %1 不是有效的 Win32 应用程序
- c - 为什么我包含 stdio.h 时没有声明“gets()”函数?
- gdb - mingw gdb 没有布局命令
- laravel - 我可以在 laravel 中保存标签标题吗?
- jquery - 为什么 keyup 功能在 CKEDITOR 中不起作用?
- git - 子模块目录中 .git 文件的用途是什么?