Heim > Backend-Entwicklung > PHP-Tutorial > 编写PHP扩展遇到的 Z_OBJ_P warning问题

编写PHP扩展遇到的 Z_OBJ_P warning问题

WBOY
Freigeben: 2016-06-06 20:50:26
Original
1345 Leute haben es durchsucht

想实现个简单的模板引擎扩展,最近在调试中.但是将扩展编译成so之后却发生了下面的状况:

运行make的时候出现以下warning:

<code class="lang-bash">/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]
</code>
Nach dem Login kopieren
Nach dem Login kopieren

相应代码段如下:

<code class="lang-cpp">//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;
    }
</code>
Nach dem Login kopieren
Nach dem Login kopieren

起初我认为是宏的定义有问题,但是当我将Z_OBJ_P替换成应该使用的zend_object_get_address时,同样的warning会出现. 我在引入头文件时只是将php.h引入. 不知是否有同样经历的前辈解决过这样的问题,望指教!谢谢!

回复内容:

想实现个简单的模板引擎扩展,最近在调试中.但是将扩展编译成so之后却发生了下面的状况:

运行make的时候出现以下warning:

<code class="lang-bash">/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]
</code>
Nach dem Login kopieren
Nach dem Login kopieren

相应代码段如下:

<code class="lang-cpp">//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;
    }
</code>
Nach dem Login kopieren
Nach dem Login kopieren

起初我认为是宏的定义有问题,但是当我将Z_OBJ_P替换成应该使用的zend_object_get_address时,同样的warning会出现. 我在引入头文件时只是将php.h引入. 不知是否有同样经历的前辈解决过这样的问题,望指教!谢谢!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage