关于MCV中用C编写module然后加载进PHP中

来源:互联网 发布:mac mpp文件 编辑:程序博客网 时间:2024/05/20 04:14
工具 swig

教程
1, 创建example.c
$cat example.c
int example(char *s) {
printf("%s", s);
}
2, 创建.o
cc -c example.c
得到 example.o
3, 创建example.i
$cat example.i
%module example
extern int example(char *s);
4, 创建wrap文件
$swig -php4 example.i
得到 example_wrap.c example.php php_example.h
5, 创建wrap.o
$cc -c example_wrap.c -I/usr/local/include/glib-2.0 -I/usr/local/include/php -I/usr/local/include/php/Zend -I/usr/local/include/php/TSRM -I/usr/local/include/php/main -I/usr/local/include/php/regex
得到 example_wrap.o
6, 生成模块文件
$cc -shared -o php_example.so example.o example_wrap.o

得到的php_example.so及我们想要的lib包,可以将它放入到php.ini所指定的extension_dir中去
然后可以加上
extension=php_example.so

7, 测试文件
<?php
$s = "我的选择取决于你";
example($s);
?>
原创粉丝点击