cost 223 ms
错误:参数无效; 发送msgsnd()消息时; 不匹配队列ID - error: Invalid argument; while sending msgsnd() message; not matching queue ID

我只是在linux上学习IPC,并提出了三个简单的程序。 一个是创建(并在该功能中管理)消息队列。 第二个应该只是将消息发送到第一个创建的队列。 第三个程序是从队列接收数据。 所有程序都继承自相同的根目录,并且每个源和二进制文件都分别插入到不同的目录中。 所以我们只关注创建和发 ...

msgget()和ftok()错误 - Error with msgget() and ftok ()

我正在学习IPC编程。 作为它的一部分,我尝试了以下两个代码来了解消息队列...。 消息队列创建者或消息发送者 讯息接收者 以上代码可在beej的消息队列指南中找到。 当我尝试执行“ spock”​​时,msgget()抛出错误:没有这样的文件或目录。 ftok( ...

如何确定ftok共享内存冲突 - how to determine ftok shared memory collision

我正在尝试调试一些旧代码的问题。 在尝试了解我在看什么时,我发现它使用ftok构建了两个唯一的共享内存空间。 我在网上看了看它是做什么的,我偶然发现了这个链接。 我深入了解了一下,发现ftok不能保证唯一的键,而且空间碰撞的可能性很小。 ftok()碰撞 因此,我一直在努力确定 ...

使用C了解共享内存 - Understanding Shared Memory Using C

使用C,我正在尝试设置共享内存。 我的代码看起来像: 然而,第二个我运行最后一行,我得到一个分段错误。 调试时,我可以打印“sharedval”,我得到一个内存地址,大概就是我得到的内存中的位置。 所以我认为我所要做的就是使用*sharedval来评估它,但显然不是。 我怎么想从 ...

消息队列中的目的ftok是什么 - Whats is purpose ftok in Message queues

我已经开始阅读Linux上IPC机制之一的消息队列。但是,第一步我有一些非常基本的问题。 使用ftok()生成唯一ID(密钥)以及要生成的唯一ID。 我们不能使用简单的数字而不是ftok()来获取密钥吗? msget函数中参数key的作用是什么? msqid和k ...

2011-09-09 07:26:34   3   18486    c / ipc / ftok  
ftok()碰撞 - ftok() collisions

我使用ftok()为C应用程序使用的共享内存段生成标识符。 我遇到了问题,在一个盒子上我遇到了root使用的标识符。 我可以通过破解代码在这个例子中修复它,但我想要一个更强大的解决方案。 应用程序安装在自己的逻辑卷中,提供给ftok的路径是应用程序的二进制目录(在该lv中)。 提供的 ...

如果访问共享内存的关键是shmget()的返回值,那么拥有key_t有什么意义呢? - What is the point of having a key_t if what will be the key to access shared memory is the return value of shmget()?

使用共享内存时,我们为什么要关心创建密钥 在下面的代码中? 根据我的理解,访问给定共享内存所需的是shmid ,而不是密钥。 还是我错了? 如果我们需要的是shmid ,那么每次创建随机密钥有什么意义呢? 编辑 @ Beej的Unix IPC指南可以阅读: ...

为可以具有多个实例的应用程序的消息队列创建唯一键 - Creating unique keys for a message quene for an app that can have multiple instances

我制作了一个 Linux CUI 应用程序,它通过消息队列在进程之间进行通信。 只要是单例就没有问题。 但是,当同一个应用程序有多个实例时,队列中的消息会被发送到错误的实例。 我知道这可以通过给 msgget function 一个唯一的键来避免。 使用 ftok() 创建密钥,但由于变量相同,它们 ...


排序:
质量:
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM