c/c++语言开发共享GCC抱怨非标准呼叫约定“ZEND_API”

在PHP的Zend引擎代码中,我在头文件中看到如下所示的行。

ZEND_API char *zend_strndup(const char *s, unsigned int length) ZEND_ATTRIBUTE_MALLOC; 

我是专业的C / C ++编程新手。

当我尝试使用gcc编译此包中的c文件时,我得到错误

 zend_alloc.h:55: error: expected =, ,, ;, asm or __attribute__ before char 

我尝试了命令gcc -I./ -I../TSRM zend_language_*.c

看起来gcc抱怨ZEND_API。 ZEND_API表示什么? 任何人都可以帮我弄清楚为什么会发生这种错误?

文件所在的SVN存储库。

    这些文件是PHP解释器的一部分,并不打算与它分开编译。 configure脚本应该将ZEND_API宏定义为:

     __attribute__ ((visibility("default"))) 

    在支持它的系统上(例如,GCC 4.0+),在其他编译器上没有任何内容。

    如果您只是尝试构建PHP,请从php.net下载整个源代码包并使用configure / make来构建它。 构建过程很复杂,并不是要显而易见(甚至可能)手动运行。

      以上就是c/c++开发分享GCC抱怨非标准呼叫约定“ZEND_API”相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/522180.html

      (0)
      上一篇 2020年12月9日
      下一篇 2020年12月9日

      精彩推荐