【问题标题】:Where are things like zval defined?zval 之类的东西在哪里定义?
【发布时间】:2012-04-22 14:23:11
【问题描述】:

我正在尝试使用 Eclipse 和 CDT 开发 PHP 扩展,但扩展代码报告为充满语法错误和警告。我通过告诉CDT从PHP源代码中查找PHPinclude目录和main目录,设法摆脱了其中的一部分,解决了所有包含,但仍然存在很多问题。

具体来说,我在哪里可以找到zvalSUCCESSFAILURESTANDARD_MODULE_PROPERTIESzend_module_entryzend_function_entryzend_parse_parameters 的定义?如何让 CDT 不将 <module name><module name>_functionsreturn_value 标记为无法解析的符号?

有没有更好的方法来使用 IDE 开发 PHP 扩展?

【问题讨论】:

    标签: c eclipse eclipse-cdt php-extension


    【解决方案1】:

    在哪里可以找到:

    typedef struct _zval_struct zval;                     : ./Zend/zend.h
    struct _zval_struct {                                 : ./Zend/zend.h
    SUCCESS                                               : ./Zend/zend.h
    FAILURE                                               : ./Zend/zend.h
    STANDARD_MODULE_PROPERTIES                            : ./Zend/zend_modules.h
    typedef struct _zend_module_entry zend_module_entry;  : ./Zend/zend_modules.h
    struct _zend_module_entry { :                         : ./Zend/zend_modules.h
    typedef struct _zend_function_entry {
    …
    } zend_function_entry;                                : ./Zend/zend_API.h
    zend_parse_parameters(                                : ./Zend/zend_API.c
    

    如果你想查看这样的 PHP 源代码,我建议你将 Vim 与 cscope 结合使用。然后你所要做的就是标记zval,输入两个键,它会跳转到定义。


    从一个快速的谷歌看来,Eclipse 也有一些 cscope 支持等。 Search workspace?我猜这需要您将 PHP 源代码加载到工作区。

    谈到 CDT,我不知道。没用过。


    编辑:

    出于好奇和需要了解CDT。

    • 创建了一个标准的 C 项目。
    • 右键项目
      • 路径和符号
        • 源位置;添加 PHP 目录。
    • 右键项目
      • 索引
        • 重建(大源所以需要一段时间)

    现在我可以说 zend_parse_param CtrlSpace 并自动完成。或zend_parse_parameters( CtrlSpace

    或选择Search -> C/C++... 并选择即“定义”,文本“zval” -> 搜索并获取定义。

    或者输入zva CtrlSpace 得到zval

    您也可以在Project Explorer 中右键单击PHP 源代码并选择Exclude from build 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多