注册 登录
编程论坛 VC++/MFC

c++ 技术实现问题求大神指导!

hjy88168 发布于 2013-02-19 10:06, 434 次点击
是这样,我的工作需要写一个链表,包括各个节点的信息,这个链表要供另一个程序使用,需要用共享内存实现

但问题来了,由于链表的各个节点可能随时更新,删除、添加,用共享内存怎么实现?删除和添加又该如何处理呢?

各位大神有什么好的思路,还请指导一二~~谢谢!
3 回复
#2
yuccn2013-02-19 10:30
“这个链表要供另一个程序使用” 最好不要这样吧,很难维护的

那个进程(比如A进程)需要用到这个链表就由那个进程来管理就行了。其他进程(比如B进程)通过管道发送命令和数据发送给A进程,让A进程对链表进行操作就行了

多个进程去操作一个链表,比较郁闷吧,进程同步 内存共享等一大堆维护。


A 进程 管理链表
其他进程(B 或者C等进程)通过自己定义数据格式,通讯协议来读取,链表的数据就行了。进程通讯可以用管道 或者socket 都行,如果A进程有窗口,也可以用发送CopyData消息通讯,方法比较多
#3
hjy881682013-02-19 10:49
回复 2楼 yuccn
是开发文档中要求使用内存共享~~

求大神指导~
#4
yuccn2013-02-19 12:10
回复 3楼 hjy88168
你是做工作的项目还是做学习的课程设计?

用内存共享来做真的很挫的,如果要用链表,估计内存共享也是比较麻烦,比如,链表中的那些指针,怎么共享?指针指向的内存也是一个节点,也有next什么的,这些都是动态生成的,不好实现。估计只能用数组(或者结构体)吧,
内存共享,你查下CreateFile 的用法,可以创建一个内存映射文件的,
1