首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

ruby调用C++ 进程间通信的有关问题

2012-02-17 
ruby调用C++ 进程间通信的问题两个进程用共享内存通信,用信号量同步,写的进程写完共享内存后post信号量,读

ruby调用C++ 进程间通信的问题
两个进程用共享内存通信,用信号量同步,写的进程写完共享内存后post信号量,读进程wait到继续运行程序。

每个进程读取的共享内存由自己建立,写入到对方建立的共享内存中。

两个进程都以C++形式通信完全正常,将其中一个进程的C++代码编译为ruby可调用的库,用ruby启动时,通信就出现问题。

从ruby进程侧向C++进程发送数据正常,但从C++进程向ruby进程发送数据时,post的信号量ruby侧wait不到。

从现象来分析,似乎是ruby进程建立的信号量有问题,但是没有分析出问题的原因。

[解决办法]
高级了,真的不懂。

[解决办法]
book = Spreadsheet.open "#{::Rails.root}/public/sheet/old.xls"
sheet = book.worksheet 0
sheet[10,10] = 5 --问题是当注释掉这行的时候,old.xls 相当于复制到了new.xls中,但是当不注释的时候
new.xls中就只有5这一个数据,old.xls里面原来的数据就没有了。
book.write "#{::Rails.root}/public/sheet/new.xls"

这种情况是怎么回事呀!!!!!我真的哭了,研究几天了...
[解决办法]

探讨

引用:

如果环境好搭建,你可以给我代码,我Ruby也会,C++也是好几个星星,
但是两个东西一起弄,我没有弄过,信得过我,我可以帮你试一试。


呃......代码的不行,除非我不想在公司干了

[解决办法]
你看一下ruby进程有没有create同步对象,用procexp看

热点排行