c++ - 后台程序提供API供其它程序使用
阿神
阿神 2017-04-17 11:45:40
0
5
667

最近遇到了一个问题,就是我想写一个程序,我可以启动它,在后台运行,该程序可以提供函数接口做一些操作。然后其它程序可以通过包含后台程序的头文件,使用后台程序的函数。

想了好久不知道,该怎么做。求各位帮助啊。

阿神
阿神

闭关修行中......

全部回覆(5)
Ty80

建議參考進程間通訊(RPC)
但是直接包含後台程式的頭文件,使用後台程式的函數,可能做不到

Ty80

最簡單的做法是重定向標準輸入和標準輸出,透過它們來控制後台程式。

http://stackoverflow.com/questions/2680174/redirect-stdin-in-c-program-to-another-process

Ty80

後台啟動的這個程式就是一個服務(一個常駐記憶體的進程,A),而後續寫的程式(稱為B程式)與A之間可以透過各種方式通訊;
而能夠通訊之後,A中的所有函數就可以隨便呼叫(當然,是透過雙方協商的協定呼叫);
如果需要直接對外暴露一個函數,其實,就是將這個函數發佈為一個服務供其它使用者使用;

將函數發佈成服務,一些中間件的服務就是這樣做的,例如Tuxedo;

進程間通訊的方式就多種多樣了,
例如,管道;共享記憶體、隊列等;參考《UNIX網路程式設計 卷2》進程間通訊:http://www.me115.com/book/129.html

或許,你的要求只是一個動態連結庫,將A的程式碼打包為一個動態函式庫,
暴露頭檔介面給B使用?這樣,就只有一個行程;

左手右手慢动作

將目前後台程式和其他程式共用的部分抽離出來 做成動態函式庫

小葫芦

網路服務,soap

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板