gpt4 book ai didi

java - 在 JNA 中使用时 IPC_CREAT 的值

转载 作者:行者123 更新时间:2023-11-30 11:16:35 26 4
gpt4 key购买 nike

我需要通过 posix 消息队列与 java 应用程序和 c 进程进行通信,并且我在 java 应用程序中使用 JNA。

在C进程中,创建消息队列时我使用的是:

key_t key = 112233;
int msgflg = IPC_CREAT | 0666;

msqid = msgget(key, msgflg )

在 Java 应用程序中使用 IPC_CREAT 的值是什么?我在 ipc.h 中发现:

/usr/include/sys/ipc.h:#define  IPC_CREAT       0001000         /* create entry if key doesn't exist */

我可以安全地假设我可以使用 512 吗? (十进制)?

谢谢。

最佳答案

我建议您使用 950,因为

final int IPC_CREAT = 0001000;
int msgflg = IPC_CREAT | 0666;
System.out.println(msgflg);

输出

950

我可能不明白你的问题,因为

printf("%i\n", 0001000 | 0666);

也输出

950

编辑

final int IPC_CREAT = 0001000;
System.out.printf("%d%n", IPC_CREAT);

输出为 512。并且,

printf("%i\n", 0001000);

输出是 512。所以你可以使用十进制 512。或者像 C 那样的二进制版本。

关于java - 在 JNA 中使用时 IPC_CREAT 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24809825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com