编写PHP扩展遇到的 Z_OBJ_P warning问题
程序员文章站
2022-04-30 19:44:53
...
想实现个简单的模板引擎扩展,最近在调试中.但是将扩展编译成so之后却发生了下面的状况:
运行make的时候出现以下warning:
/home/x64-debian-fxy/php5-5.4.4/ext/template_parser/template_parser.c: In function 'zif_template_parser_pause':
/home/x64-debian-fxy/php5-5.4.4/ext/template_parser/template_parser.c:114:21: warning: assignment makes pointer from integer without a cast [enabled by default]
相应代码段如下:
//Fetch real object in order to fetch it's scope.
if(Z_TYPE_P(object_container) == IS_OBJECT){
//问题在下行.
real_object = Z_OBJ_P(object_container);
} else {
real_object = NULL;
}
起初我认为是宏的定义有问题,但是当我将Z_OBJ_P
替换成应该使用的zend_object_get_address
时,同样的warning会出现.
我在引入头文件时只是将php.h
引入.
不知是否有同样经历的前辈解决过这样的问题,望指教!谢谢!
回复内容:
想实现个简单的模板引擎扩展,最近在调试中.但是将扩展编译成so之后却发生了下面的状况:
运行make的时候出现以下warning:
/home/x64-debian-fxy/php5-5.4.4/ext/template_parser/template_parser.c: In function 'zif_template_parser_pause':
/home/x64-debian-fxy/php5-5.4.4/ext/template_parser/template_parser.c:114:21: warning: assignment makes pointer from integer without a cast [enabled by default]
相应代码段如下:
//Fetch real object in order to fetch it's scope.
if(Z_TYPE_P(object_container) == IS_OBJECT){
//问题在下行.
real_object = Z_OBJ_P(object_container);
} else {
real_object = NULL;
}
起初我认为是宏的定义有问题,但是当我将Z_OBJ_P
替换成应该使用的zend_object_get_address
时,同样的warning会出现.
我在引入头文件时只是将php.h
引入.
不知是否有同样经历的前辈解决过这样的问题,望指教!谢谢!
推荐阅读
-
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
-
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法_php技巧
-
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法_PHP教程
-
protocol-buffer - protocolbuffers扩展升级到php7遇到的问题?
-
在PHP 5.4.10下安装PECL扩展 sphinx-1.1.0时遇到的有关问题
-
编写PHP扩展遇到的 Z_OBJ_P warning问题
-
编写PHP扩展遇到的 Z_OBJ_P warning问题
-
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
-
在PHP 5.4.10下安装PECL扩展 sphinx-1.1.0时遇到的有关问题
-
Homestead安装php Redis扩展的步骤及遇到的问题解决