编译C代码而不制作.C文件

时间:2012-05-16 06:41:08

标签: php gcc cygwin

我正在尝试编译一个' C' php中的代码。我正在使用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文件的方法。另外一个问题我不能包含任何头文件,因为它需要一个新行。

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

欢迎所有答案和建议。

1 个答案:

答案 0 :(得分:1)

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