gpt4 book ai didi

将字符串转换为 key_t

转载 作者:行者123 更新时间:2023-11-30 17:31:59 25 4
gpt4 key购买 nike

如何将字符串转换为 key_t,以便使用它通过 shmget 创建共享内存段?

这是因为映射共享内存的关键是通过 TCP/IP 传输的。

提前致谢!

最佳答案

key 是通过调用ftok()创建的。后者使用文件路径和 8 位值来执行此操作。

对于相同的文件路径和相同的 8 位值,ftok()(重新)创建相同的 key 。

因此,传输文件路径和 8 位值(通常是另一个 char),并让接收方对收到的值调用 ftok()。这将创建与发送者使用的 key 相同的 key 。

来自ftok()'s documentation :

The ftok() function uses the identity of the file named by the given pathname (which must refer to an existing, accessible file) and the least significant 8 bits of proj_id (which must be nonzero) to generate a key_t type System V IPC key, suitable for use with msgget(2), semget(2), or shmget(2).

The resulting value is the same for all pathnames that name the same file, when the same value of proj_id is used. The value returned should be different when the (simultaneously existing) files or the project IDs differ.

关于将字符串转换为 key_t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386913/

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