ruby 调用 c++

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

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看