在php中使用shell_exec调用gcc

时间:2012-10-09 18:42:04

标签: php gcc compiler-construction shell-exec

<?php
$output=shell_exec('gcc prog.c');
echo "$output";
?>

我尝试使用php执行一个c程序并使用shell_exec来调用gcc来执行程序但它没有输出但是没有显示错误。可以请有人纠正错误 提前谢谢。

3 个答案:

答案 0 :(得分:1)

gcc用于编译c文件。它不会'运行'.c文件。从命令行尝试。运行gcc prog.c后你会注意到你有一个名为'a.out'的文件。 a.out是从prog.c

的成功编译创建的可执行文件

答案 1 :(得分:0)

调用gcc将启动prog.c文件的编译。它没有执行它。

如果你需要在运行时编译你的prog.c文件,我会写一个看起来像这样的快速shell脚本:

#!/bin/bash

rm prog_compiled_from_php               # Remove previously compiled program
GCC=`which gcc`                         # Find the path to gcc and store it in the "GCC" variable
$GCC prog.c -o prog_compiled_from_php   # Compile prog.c into the binary called prog_compiled_from_php
./prog_compiled_from_php                # Execute the compiled program

将此文件另存为prog_compile

确保您使此脚本可执行,并使用:chmod a+x prog_compile

从PHP,请致电$output = shell_exec('prog_compile');

我不是bash脚本专家,请随意纠正我的语法:)

答案 2 :(得分:0)

您可以使用List<Person> findBySkillsContains(List<String> skills);执行许多cmd命令。 要编译C文件并执行并回显输出,可以使用以下代码行:

&&