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

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

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

阿神
阿神

闭关修行中......

répondre à tous(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使用?这样,就只有一个进程;

左手右手慢动作

将当前后台程序和其他程序共用的部分抽离出来 做成动态库

小葫芦

webService,soap

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal