LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 671|回复: 1

关于移植问题!

[复制链接]
发表于 2007-6-27 16:29:43 | 显示全部楼层 |阅读模式
大家好,新人报道!
   我的程序是在AIX和SCO下跑的,最近要移植到rh linux as3下运行,可移植出现了很多问题,提出来望大家给予帮助!先谢了!!
   我的程序编译没有问题,就是无法正常运行。程序用到了共享内存,信号量等系统调用,在运行中都出现了问题。首先,初始化程序分配了一块共享内存,600k左右,将配置文件信息,数据结构及数据放置其中供其他程序使用。在一个进程中,写数据到共享内存,退出后,启动另一个进程读取该数据,可怎么也取不到。我在两个程序里把地址打印出来比较后地址完全一样,写数据进程在写完数据后按照地址打印数据,每次都能打印出来,可取数据进程按照地址就是取不出数据。反复启动取数据的进程,发现有时能读出来,不过大部分都读不出来。在取数据进程里按照地址dump内存内容后发现,数据是写到了内存里,可每次数据的位置都不一样。
   信号量方面,使用system V标准,在AIX上能顺利通过的,到了linux下就会被挂起。

   请问,rh linux as3 和unix系统有什么区别,尤其在共享内存和信号量方面。我的程序怎样才能在linux成功运行,还请各位大侠指点,谢谢!
发表于 2007-6-28 06:37:12 | 显示全部楼层
1、写数据程序退出是在读数据程序取得共享内存地址之后吧?否则,共享内存应该会被释放。
2、由于每个进程有自己的上下文,一样的地址并不代表指向的是一块内存。
最好能把内存分配部分的代码贴上来。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表