版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
我现在有一个程序需要再两个鈈同的子进程之间分别写入链表,但第一个子进程写入信息后第二个就把它覆盖了,不知道大侠有没有什么好的解决方法本来我打算使用子进程间发送消息,把上一个进程的指针存在消息里但又不知道如何把字符串类型的地址转化为指针,如果大侠知道请告知。谢謝我写的代码如下:
//第一个子进程赋值0-9
//等待第一个子进程完毕后再赋值10-19
我想楼主的意思是需要管理一个内存池,以后每次链表中的节点需要申请内存时都从共享内存中划分一块内存吧如果是这样还是有点麻烦的,我倒是弄过一下不过效率很差哦。
我要做的很想rexp(沧浪客) 所说的但是比这还要复杂,因为在链表中可能还有其它结构的链表现在我已经实现了,效率也很高可是必须在程序启动时就申请一大块内存,以后就无法扩展了我听说在C++中可以用智能指针来实现,可我不知道该怎么做?
可能是说指针所指向的地址可以从堆中分配也可以从共享内存中分配,用c++的模版
呵呵,是不昰这样啊你的程序需要用到共享内存,但是这块内存是不固定的如果按照最大值分配,对资源是极大的浪费
小凤的mmap()能帮到你