用php调用C函数,常通过调用系统命令函数的方式来实现,其中主要有system()和exec()两种,还有一种是passthru(),这种方法没有尝试,暂不作讨论。 system()方法输出并返回最后一行的shell结果。 exec()不输出结果,返回最后一行shell结果,所有结果可以保存到
用php调用C函数,常通过调用系统命令函数的方式来实现,其中主要有system()和exec()两种,还有一种是passthru(),这种方法没有尝试,暂不作讨论。
system()方法输出并返回最后一行的shell结果。
exec()不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
相同点是都可以获取命令执行的状态码。
PHP调用C函数方法为:
如果C函数为一个简单的hello world,文件名称为hello.c。
#include
main()
{
printf("hello world!");
}
注意:如果多行输出要用"
"不要"\n"
首先gcc编译成 gcc hello.c -o hello
然后再php函数中写一个函数:
$r = exec("./hello");
echo $r;
?>
如果是exec,如果在浏览器中执行结果的话,会出现1个hello world(echo $r产生),如果用system来调用的话,则会出现两个hello world!(./hello和echo $r产生)。
当然还可以通过php扩展的方式来实现php调用c函数!