如何在php(web应用程序)中传递值和运行c程序
How to pass value and run c program in php( web application)
我有一个大的c
程序。我想在php中执行这个函数并获取value
C程序
int add( int, int);
void main()
{
int i=1;
printf("i starts out life as %d.", i);
i = add(5, 10);
printf(" And becomes %d after function is executed.n", i);
}
int add( int a, int b)
{
int c;
c = a + b;
return c;
}
我的web表单有值a和b.所以当我提交表单时,我想调用c函数添加和获取输出
我知道php中有一个执行外部程序的函数像
exec()
shell_exec()
但是我不熟悉这个函数。所以请给我的代码样本。我应该把c程序文件(在记事本中)放在服务器根目录下吗?
请引导我!提前感谢
我想最简单的方法是从PHP调用C,传递作为参数的形参。C端:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i = add(atoi(argv[1]), atoi(argv[2]));
printf("%dn", i);
return 0;
}
(显然,您应该添加错误检查)。PHP端:
$a = ...;
$b = ...;
$c = exec("/path/to/sum $a $b");
假设你的C程序叫做sum。
编辑:只是添加一个关于各种方法的注释到目前为止,建议你:
用
exec()
启动C程序,如我上面的回答,是这是最简单的解决方案。但是,它需要创建一个每次调用C代码时都会创建一个新的进程,这可能会很昂贵一个PHP扩展避免了进程的创建,应该更多效率很高,特别是当您对C代码进行多次调用时你的C代码可以快速计算结果
如果您的C程序启动缓慢,则守护进程更有趣
有一种方法可以做到这一点-但无论如何都不是微不足道的。你需要用c/c++写一个php扩展,把它安装在执行php的服务器上,并更新你的php.ini——然后你就可以直接从php访问c/c++函数了。看看这里:http://devzone.zend.com/article/1021关于如何编写扩展
相关文章:
- 运行程序时出现问题
- 分段错误当我试图运行程序时出错
- C++ 每次运行程序时我都会"nan"输出的问题
- 通过 g++ 运行程序时没有这样的文件或目录
- 重新运行程序和字符串流?
- 无法在 VS Code 上使用代码运行程序运行C++文件
- 使用有限的 RAM 运行 c++ 程序
- 继续运行程序而无需任何干预,直到要求退出为止
- 如何在每次运行程序时写入文件的下一行?
- 控制台在运行C ++程序后立即关闭(无需调试)
- 运行程序时找不到共享对象库,但在编译过程中链接了它
- 远程运行程序
- 在 Heroku 上运行 C++ 程序
- 如何在Powershell中运行C++程序,就像CMD一样?
- 为什么与Java和Python相比,使用Cmake运行C++程序每次都需要这么长时间?
- C++随机数生成器通常在 Visual Studio 中运行程序时在 2 次后停止生成数字
- 崇高文本 3 - 在终端中编译并运行 C++ 程序(路径包含空格)
- 我收到阻止我运行程序的警告,但不确定如何解决
- C++ Visual Studio 无法完全运行程序
- 在SIGABRT c ++信号之后继续运行程序