[問題] 關於撰dll負責兩程式溝通的方式!?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Windows
--
各位板友大家好,
近日需撰一dll負責另外兩支程式的溝通,
其中A程式載入dll後,由dll開File Mapping將需求的SQL參數傳入,
dll建立了記憶體空間後,即SetEvent令B程式開始接收記憶體資料,
而B程式接收SQL參數後再拼成SQL指令下達。
不論Insert或是Select皆需回傳給dll成功或失敗,
尤其是若是Select可能還需要回傳查詢到的大量資料,
這部份似乎能再由B程式Free掉原先的記憶體空間,
重新建立相同的名稱,由dll接收。
只是SQL查詢到的資料大小是無法預估的,
該如何架構比較好呢?!
想請問板上先進採用File Mapping是個合適的作法嗎?
是否有更好的選擇呢!?
另未來也許會有其他程式需同時使用此dll,
可File Mapping及Event的名稱只有一個,
這要如何解決才好,懇請板上先進不吝賜教,
謝謝大家。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.201.239
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1438275763.A.CAF.html
推
07/31 01:19, , 1F
07/31 01:19, 1F
→
07/31 01:19, , 2F
07/31 01:19, 2F
→
07/31 01:20, , 3F
07/31 01:20, 3F
推
07/31 06:06, , 4F
07/31 06:06, 4F
推
07/31 07:00, , 5F
07/31 07:00, 5F
→
07/31 07:00, , 6F
07/31 07:00, 6F
回E大:這好像可行,謝謝您。
回j大:何謂沒有主控程式?會有什麼問題呢?能否賜教?謝謝。
k大:對的,僅是提供SQL功能給其他程式呼叫,
改成動態產生有想過,這樣的話似乎能解決Event和Shared Memory的名稱問題,
那是否dll和B程式都要加入Thread來施行呢!?
※ 編輯: BIAO (36.230.201.239), 07/31/2015 09:51:00
推
07/31 13:47, , 7F
07/31 13:47, 7F
→
08/02 20:22, , 8F
08/02 20:22, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章