2014-01-25 123 views
0

我有一些C++代码,我想在服务器上运行并返回输出结果。我知道用PHP运行C++代码

exec("./myprogram.exe", $out);

应该运行程序和$out将保持输出。目前我无法从我的程序获得输出...它使用cout输出它,并且我在Windows上编译它,我想运行它的服务器是基于Linux的。任何指针?

回答

1

首先,你需要重新编译Linux上的C++代码,使用第一g++ -Wall -g(论据为了g++matters a lot) - 那么其他一些编译器arguments-因为-Wall询问所有警告和-g调试信息。一旦你的代码在Linux上进行了调试,你也可以通过-O2询问GCC进行优化。

然后,您需要使用PHP的popen函数来获取您的命令的输出(通过pipe)。如所记录的,使用例如fgets从管子手柄上读取,别忘了pclose吧。另见this answer

+0

论证顺序在这里如何处理? –

+0

我添加了一个链接到以前的答案;我讨论的是'g ++'的论点顺序。 –

+0

很明显。我在说这是无关紧要的。 –