I am having big c
program.I want execute that function in php and get value
For example
C program
int add( int, int);
-
I guess the simplest way would be to call your C from PHP, passing the
parameters as arguments. On the C side:
#include
#include
int main(int argc, char *argv[])
{
int i = add(atoi(argv[1]), atoi(argv[2]));
printf("%d\n", i);
return 0;
}
(obviously, you should add error checking). On the PHP side:
$a = ...;
$b = ...;
$c = exec("/path/to/sum $a $b");
assuming your C program is called sum.
Edit: Just adding a comment about the various approaches that have
been suggested to you so far:
Starting your C program with exec()
, as in my answer above, is
really the simplest solution. However, it costs you the creation of a
new process every time you call your C code, which can be expensive
if you do it a lot.
A PHP extension spares the process creation and should be more
efficient, especially if you are making many calls to your C code and
your C code is fast to compute the result.
A daemon is more interesting if your C program is slow to startup
(long initialization) but can then process queries fast.
- 热议问题