0

我有一个程序 A 调用另一个 B 来做某事。我想让 B 在到达某个位置时发送信号或其他东西,以便 A 知道。目前我正在使用一种看似愚蠢的方法:我让 B 打印 "REACHED" ,然后在 AI 中捕获 B 的所有输出并扫描字符串 "REACHED"(参见下面的代码)。还有哪些其他选择?谢谢,

//B, at the desired location
printf("REACHED");

//A
FILE *fin = popen("./B","r");                                                                                                                                                       

while(fgets(buff,sizeof(buff),fin)){
  string res(buff);
  if (res.find("REACH") != string::npos){  //naive way 
    //got it    
  }
}
4

1 回答 1

1
  • 共享内存

  • 信号

  • 写入文件(例如管道或网络连接)

  • 使用现有的进程间通信 (IPC) 库

于 2013-11-14T22:36:16.000 回答