谁能帮我在 Windows 平台上用 PHP 编译 C++ 代码?我正在使用 Microsoft Visual C++ 6.0。
我尝试了以下我知道的选项,但没有一个起作用:
system('test.c')
exec('test.c')
文件“test.c”已放置在我的 php/www/ 文件夹中。
我需要首先编译代码,这会生成 test.exe,然后使用 exec( ) 我需要运行 exe 文件。
在这段代码“test.c”中,我正在读取文件“data.txt”。 data.txt 的内容每 5 秒更改一次。这就是为什么我首先需要用 PHP 进行编译,然后运行新的 exe 文件。
创建一个 .bat 文件:
然后从 PHP 启动该 .bat 文件。 (顺便说一句,不知道你会怎么做)
http://4answered.com/questions/view/7e1694/Compile-C-file-Using-PHP这可以帮助我编译和运行C程序(请参阅此链接上的视频)。使用这个我写了这个 php 代码并且它工作了
<?php
putenv("PATH=C:\\MinGW\\bin");
exec("gcc C:\\test\\q.c -o C:\\test\\q1.exe");
system("C:\\test\\q1.exe",$output);
echo $output;
我的QC
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Hello world");
return 0;
}
所以你会在 $output 中看到“Hello world0”
我假设您想从 php 脚本调用编译器?
如果是这种情况,您首先必须调用编译器本身 - 而不仅仅是将源代码的文件名传递给系统。对于 MSVC++,您需要查找“cl.exe”。
此外,如果您的环境中没有设置相应的路径,则需要使用完整路径。
确保首先了解如何从命令提示符手动调用 cl.exe。 一旦理解了这一点,您就可以尝试从 php 脚本调用它。
但是,您需要意识到还需要考虑其他因素,例如编译文件所需的时间与超时之前允许执行 php 脚本的时间。
我认为,您可能需要向我们提供更多信息,说明您到底想做什么以及为什么要这样做。