Home  >  Q&A  >  body text

c++ - 后台程序提供API供其它程序使用

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

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

阿神阿神2715 days ago606

reply all(5)I'll reply

  • PHP中文网

    PHP中文网2017-04-17 11:47:40

    建议参考进程间通讯(RPC)
    但是直接包含后台程序的头文件,使用后台程序的函数,可能做不到

    reply
    0
  • PHP中文网

    PHP中文网2017-04-17 11:47:40

    最简单的做法是重定向标准输入和标准输出,通过它们来控制后台程序。

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

    reply
    0
  • PHP中文网

    PHP中文网2017-04-17 11:47:40

    后台启动的这个程序就是一个服务(一个常驻内存的进程,A),而后续写的程序(称为B程序)与A之间可以通过各种方式通信;
    而能够通信之后,A中的所有函数就可以随便调用(当然,是通过双方协商的协议调用);
    如果需要直接对外暴露一个函数,其实,就是将这个函数发布为一个服务供其它用户使用;

    将函数发布成服务,一些中间件的服务就是这样做的,比如Tuxedo;

    进程间通信的方式就多种多样了,
    比如,管道;共享内存、队列等;参考《UNIX网络编程 卷2》进程间通信:http://www.me115.com/book/129.html

    或许,你的要求只是一个动态链接库,将A的代码打包为一个动态库,
    暴露头文件接口给B使用?这样,就只有一个进程;

    reply
    0
  • ringa_lee

    ringa_lee2017-04-17 11:47:40

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

    reply
    0
  • 高洛峰

    高洛峰2017-04-17 11:47:40

    webService,soap

    reply
    0
  • Cancelreply