2

我正在尝试在 php 中编译一个“C”代码。我正在使用 windowsXP 和 cygwin 来编译代码。我将代码运行为:

PHP 代码

$a = ' int main(){ int i; for(i= 0;i!=10;i++) printf("Its Worked");return 0;}';

$o = exec('echo '.$a.' | c:\cygwin\bin\gcc-3 -xc - -o "c:\o\ank.exe"', $errD , $err);

这是完美的工作,并根据我的需要制作一个 .exe 文件。

但是如果代码中有新行,即代码现在

$a = ' int main()
{ 
int i;
for(i= 0;i!=10;i++)
 printf("Its Worked");
return 0;
} ';

$o = exec('echo '.$a.' | c:\cygwin\bin\gcc-3 -xc - -o "c:\o\ank.exe"', $errD , $err);

它给出了编译错误。

有人可以告诉我如何编译这样的代码而不制作 .c 文件。另一个问题是我不能包含任何头文件,因为它需要一个新行。

它也无法识别特殊字符,如 '%' 等。

欢迎所有答案和建议。

4

1 回答 1

1

在 exc 命令之前使用: $a = preg_replace("/\n/",' ',$a); // 删除所有新行,因此实际运行的代码仅包含一行...

于 2012-05-28T12:51:04.423 回答