全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1833
推到 Plurk!
推到 Facebook!

如何使用DLL共享記憶體

答題得分者是:allenchan
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-04 09:24:39 IP:61.228.xxx.xxx 未訂閱
在DLL中除了使用API函數的CreatFileMapping和MapViewOfFile去做到記憶體共享,是否在BCB裡有比較簡單的宣告方式去達到記憶體共享呢?我參考了一些相關的書籍,目前只有參考到使用vc 的方式宣告如下: #pragma data_seg("xxxxx") int var; <-共享的變數 #pragma data_seg() 在BCB中是否有類似上述的宣告方式呢?
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-13 18:16:11 IP:61.59.xxx.xxx 未訂閱
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-15 03:08:51 IP:219.68.xxx.xxx 未訂閱
GeorgeKu您好.. 請參考以下文章 > <> <> < > <> < class="code"> =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-16 16:55:35 IP:61.228.xxx.xxx 未訂閱
在這先感謝Allen Chen 及 Geniustom 二位的熱心解答 TO Allen Chen 那篇文章的確是我想要的方式,但是我按照上面樣板的方式去用,目前測試無法WORK,我還在找問題當中 TO Geniustom 那3個連結我都進去看過,裡面的解答就如我問題裡面有提及到的方法相同,如果要在BCB裡面用共享的話,就是用CREATEFILEMAPPING,但是我覺得用這個方式比較麻煩,所以想知道有沒有比較簡單的方式如MSDN裡面提到的#pragma data_seg(".Share")方式宣告,我用MSDN說的方式在BCB裡面是無法WORK的.Anyway,還是感謝你的熱心幫忙^^
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-16 22:25:32 IP:61.62.xxx.xxx 未訂閱
#pragma option -zRSHSEG // change default data segment name #pragma option -zTSHCLASS // change default data class name 是這兩行無法 Compile 嗎?把這兩行移到程式的最開頭,在所有 的 #include 之前試試看。
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-11-16 22:31:30 IP:61.62.xxx.xxx 未訂閱
另外還要開一個文字檔,檔名如下: Shared.def 內容如下: LIBRARY SHAREDDLL SEGMENTS SHSEG CLASS 'SHCLASS' SHARED 然後將此檔加到 project 裡面,這樣應該就可以 Work, 我自己有測試過喔。
系統時間:2024-05-06 0:46:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!