我正在尝试编译一个' 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文件的方法。另外一个问题我不能包含任何头文件,因为它需要一个新行。
也无法识别特殊字符,如'%'等
欢迎所有答案和建议。
答案 0 :(得分:1)
在exc命令之前使用: $ a = preg_replace(“/ \ n /”,'',$ a); //删除所有新行,以便实际运行的代码只包含一行...