16得票4回答
我该把哪个文件作为ftok()函数的路径名参数传递?

在 ftok() 的手册中提到key_t ftok(const char *pathname, int proj_id); ftok()函数使用给定路径名的文件的标识符(必须是一个已存在的可访问文件)来生成一个用于消息队列和共享内存等IPC机制的键值。 我对const char *pathn...

16得票3回答
什么是消息队列中的ftok作用?

我开始学习Linux上的一种IPC机制——消息队列。但是在第一步,我有一些非常基本的问题。 ftok()用于生成唯一标识符(键),需要生成什么样的唯一标识符。 我们不能使用简单的数字来获取我们的键,而不使用ftok()吗? msget函数中参数key的目的是什么? #include "sy...

15得票3回答
如果shmget()返回值将作为访问共享内存的键,那么拥有key_t有什么意义?

当使用共享内存时,为什么我们需要关注创建一个键值 key_t ftok(const char *path, int id); 在以下代码片段中? key_t key; int shmid; key = ftok("/home/beej/somefile3", 'R'); shmid ...

9得票2回答
ftok() 冲突问题

我正在使用ftok()生成C应用程序所使用的共享内存段的标识符。但是我遇到了问题,在一个盒子上,我与root使用的标识符发生了冲突。我可以通过修改代码来解决这个问题,但我希望有一个更加健壮的解决方案。 该应用程序安装在其自己的逻辑卷中,向ftok提供的路径是应用程序的二进制目录(在该逻辑卷中...