我试图在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文件的情况下编译这样的代码吗?还有一个问题,我不能包括任何头文件,因为它需要一个新的行。
它也不被识别的特殊字符,如'%‘等。
欢迎所有的回答和建议。
发布于 2012-05-28 12:51:04
在exc命令之前使用:$a = preg_replace("/\n/",‘',$a);//删除所有新行,以便实际运行的代码只包含一行.
https://stackoverflow.com/questions/10613271
复制相似问题