亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: A程序如何獲取B程序的數(shù)據(jù) [打印本頁(yè)]

作者: yb0312    時(shí)間: 2014-02-27 09:24
標(biāo)題: A程序如何獲取B程序的數(shù)據(jù)
A程序需要訪問(wèn)B程序中的一個(gè)鏈表。請(qǐng)問(wèn)如何實(shí)現(xiàn)呢?

或者說(shuō)B程序需要將鏈表的頭指針共享出來(lái),給任何其它程序訪問(wèn),請(qǐng)問(wèn)如何實(shí)現(xiàn)呢?

非常感謝!
作者: MMMIX    時(shí)間: 2014-02-27 09:27
好奇葩的需求。
作者: folklore    時(shí)間: 2014-02-27 09:33
進(jìn)程間的保護(hù)如同男女大妨也~~

1.寫到內(nèi)存文件中~
2.共享內(nèi)存~,這個(gè)耦合比較強(qiáng)
3.做成服務(wù)器/客戶模型, 使用IPC或RPC
作者: yb0312    時(shí)間: 2014-02-27 09:47
MMMIX 發(fā)表于 2014-02-27 09:27
好奇葩的需求。

就是一個(gè)類似于API的功能。
A是一個(gè)通訊程序,需要將通訊數(shù)據(jù)共享出來(lái),供其它程序調(diào)用。
作者: yb0312    時(shí)間: 2014-02-27 09:51
folklore 發(fā)表于 2014-02-27 09:33
進(jìn)程間的保護(hù)如同男女大妨也~~

1.寫到內(nèi)存文件中~

請(qǐng)問(wèn),可以用何種方法來(lái)共享內(nèi)存?
作者: yulihua49    時(shí)間: 2014-02-27 10:11
本帖最后由 yulihua49 于 2014-02-27 10:13 編輯
yb0312 發(fā)表于 2014-02-27 09:51
請(qǐng)問(wèn),可以用何種方法來(lái)共享內(nèi)存?

共享內(nèi)存可不是隨便能用的。
鏈表,可能是malloc的節(jié)點(diǎn),那可不在共享內(nèi)存。
誰(shuí)能寫個(gè)smalloc,在共享內(nèi)存分配?

樓主的‘程序’是指進(jìn)程嗎?
多線程共享行嗎?否則就需要socket了。
作者: A.com    時(shí)間: 2014-02-28 08:30
本帖最后由 A.com 于 2014-02-28 08:32 編輯

一、共享內(nèi)存,菜鳥(niǎo)搞這個(gè)是作死
二、改進(jìn)型共享內(nèi)存,單獨(dú)開(kāi)一塊專門用來(lái)共享數(shù)據(jù),可以看成是一個(gè)極度簡(jiǎn)陋的內(nèi)存數(shù)據(jù)庫(kù)
三、隨便弄個(gè)什么協(xié)議,通過(guò)網(wǎng)絡(luò)、文件或者隨便什么傳遞數(shù)據(jù)
四、通過(guò)數(shù)據(jù)庫(kù)交換數(shù)據(jù)

以上四種方法,實(shí)時(shí)程度一個(gè)比一個(gè)低、實(shí)現(xiàn)難度 也是一個(gè)比一個(gè)低?磳(shí)際需求而定吧
作者: fender0107401    時(shí)間: 2014-02-28 09:13
Share the fucking data but the fucking memory address!
作者: Dannysd    時(shí)間: 2014-02-28 10:09
本帖最后由 Dannysd 于 2014-02-28 10:12 編輯

以前我還想讓兩個(gè)進(jìn)程操作同一個(gè)鏈表

更奇葩吧,但也有個(gè)折中的方法,也是利用共享內(nèi)存

對(duì)我來(lái)說(shuō)實(shí)在太難,果斷放棄

用本地socket也是一種選擇

很可能是解決問(wèn)題的思路有點(diǎn)單一
作者: 肥頭大呆腦    時(shí)間: 2014-02-28 11:39
兩個(gè)進(jìn)程操作同一個(gè)鏈表,用共享內(nèi)存吧,記得做好同步和互斥。
作者: socay2    時(shí)間: 2014-02-28 13:21
回復(fù) 10# 肥頭大呆腦


    你如何做到將 鏈表 準(zhǔn)確地放到你共享的內(nèi)存地址呢?
作者: Dannysd    時(shí)間: 2014-02-28 14:35
回復(fù) 10# 肥頭大呆腦


    沒(méi)記錯(cuò)的話,共享內(nèi)存里面不能malloc吧?
作者: 肥頭大呆腦    時(shí)間: 2014-02-28 15:00
鏈表的各個(gè)節(jié)點(diǎn)所占用的內(nèi)存就是共享內(nèi)存里面的某個(gè)內(nèi)存段。只不過(guò)需要自己做好對(duì)整個(gè)共享內(nèi)存的管理,實(shí)現(xiàn)起來(lái)肯定也可以實(shí)現(xiàn)。

只不過(guò)樓主還是再好好考慮一下自己的真實(shí)需求是不是這樣子的。
前面有人說(shuō)了,共享數(shù)據(jù)而不是共享內(nèi)存地址。
作者: zhaohongjian000    時(shí)間: 2014-02-28 16:49
比起我之前見(jiàn)過(guò)的用動(dòng)態(tài)鏈接庫(kù)的全局變量來(lái)共享數(shù)據(jù),LZ的需求不算奇葩了。而且我告訴他們動(dòng)態(tài)鏈接庫(kù)的變量根本不能用來(lái)共享數(shù)據(jù),他們也不信。

LZ應(yīng)該把需求描述的更清楚一些,也許需要的只是一個(gè)dbus而已。
作者: folklore    時(shí)間: 2014-02-28 17:11
回復(fù) 14# zhaohongjian000

windows的DLL可以。。。
   
作者: zhaohongjian000    時(shí)間: 2014-02-28 17:21
folklore 發(fā)表于 2014-02-28 17:11
回復(fù) 14# zhaohongjian000

windows的DLL可以。。。


環(huán)境就是Linux,而且windows下的也不是直接就可以,只是能實(shí)現(xiàn)罷了。況且,用動(dòng)態(tài)庫(kù)做IPC機(jī)制是有多奇葩。
作者: sfissw    時(shí)間: 2014-03-05 15:43
用第三個(gè)進(jìn)程或者p2p互相做對(duì)方的內(nèi)存讀寫提供方




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2