使用PHP编译C++文件

Naz*_*zar 4 php c++ cmd

我在Windows机器上使用PHP.我也使用Dev C++.我可以使用以下命令在CMD上完美地编译.cpp文件:

g++ hello.cpp -O3 -o hello.exe
Run Code Online (Sandbox Code Playgroud)

现在我要做的是使用php system()函数运行相同的命令,所以它看起来像这样:

system("g ++ c:\ wamp\www\grader\hello.cpp -O3 -o C:\ wamp\www\grader\hello.exe");

但它没有编译.我迷路了,请告诉我我错过了什么?

我也抬头看了这个问题,这正是我需要的,但我找不到一个有用的解决方案,我的情况:

用于编译c ++文件并使用输入文件运行可执行文件的PHP脚本

sha*_*wty 7

使用PHP exec命令.

echo exec('g++ hello.cpp -O3 -o hello.exe');
Run Code Online (Sandbox Code Playgroud)

应该管用.

在PHP中有一整套不同的exec和系统命令,请看这里:

http://www.php.net/manual/en/ref.exec.php
Run Code Online (Sandbox Code Playgroud)

如果要将输出转换为变量,请使用:

$variable = exec('g++ hello.cpp -O3 -o hello.exe');
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,那么请确保您的路径中有可用的g ++,并且您已经足够的权限登录以允许它执行.

您可能还发现它失败了因为PHP基本上是由您的Web服务器执行的(除非您还从cmd提示符运行PHP),并且Web服务器用户ID可能没有对G ++尝试创建的文件夹的写访问权限输出文件.

暂时授予输出文件夹中"Everybody"的写入权限将验证是否是这种情况.