首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

用PHP写扩展来调用C语言函数接口有关问题

2012-02-29 
用PHP写扩展来调用C语言函数接口问题有没有人研究过用PHP写扩展来调用C语言函数接口?我现在有个C语言函数

用PHP写扩展来调用C语言函数接口问题
有没有人研究过用PHP写扩展来调用C语言函数接口?
我现在有个C语言函数接口,编译成.so文件。现在前台要调用这个C语言的接口,我网上查了下,要写PHP扩展,用PHP包装C接口成扩展模块。我测试过包装不带参数和带整型参数的C函数,可以让PHP调用成功,但是对于那些带指针参数的C函数,包装写成扩展之后,却调用不成功。一直不明白原因出在哪里。我的代码如下,请高人指教。
C函数:(最后编译成libtest.so文件)
char * test(char *arg)
{
  return arg;
}

写一个PHP模块 phptest:
再phptest.c文件里代码如下:
155 PHP_FUNCTION(test)
156 {
158 char *arg;
159 int arg_len;
160 char *result;
161 // int result_len;
162 
163 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
164 return;
165 }
166 result = (char *)emalloc(50);
167 
168 result =memcpy(result,test(arg),50);
169 // result = "hello abc";
170 RETURN_STRING(result,1);
171 }


[解决办法]
最近在研究C,关注下
[解决办法]

探讨
有没有人研究过用PHP写扩展来调用C语言函数接口?
我现在有个C语言函数接口,编译成.so文件。现在前台要调用这个C语言的接口,我网上查了下,要写PHP扩展,用PHP包装C接口成扩展模块。我测试过包装不带参数和带整型参数的C函数,可以让PHP调用成功,但是对于那些带指针参数的C函数,包装写成扩展之后,却调用不成功。一直不明白原因出在哪里。我的代码如下,请高人指教。
C函数:(最后编译成libt……

热点排行