【问题标题】:How to understand the 3 lines of c code?怎么看懂这3行c代码?
【发布时间】:2011-05-10 15:47:05
【问题描述】:
 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &flag) == FAILURE) {
  return;
 }

尤其是ZEND_NUM_ARGS() TSRMLS_CC 在做什么?

【问题讨论】:

  • 简短的回答是……阅读文档;见google.com/search?q=ZEND_NUM_ARGS%28%29
  • @Steven:其实那是PHP语言的C代码。
  • 这看起来像是 PHP 扩展的 C 代码。
  • @Bolt 我站着(实际上是坐着)更正了;在我点击添加评论按钮后,谷歌提供的文档告诉我这 10 秒 [你们很快!]
  • 我预计这将很快关闭,因为 OP 在发布之前显然没有付出任何努力,但我会不理会它......现在

标签: php c syntax php-internals


【解决方案1】:

这个Zend article 说:

大部分 zend_parse_parameters() 块将 几乎总是一样的。 ZEND_NUM_ARGS() 为 Zend Engine 关于参数 要检索,TSRMLS_CC 是 呈现以确保线程安全

【讨论】:

  • 你能详细介绍一下TSRMLS_CC吗?
【解决方案2】:
【解决方案3】:

看起来 TSRMLS_CC 是一个宏,它可能会扩展为空,也可能会扩展为带有逗号的额外参数:

http://blog.golemon.com/2006/06/what-heck-is-tsrmlscc-anyway.html

【讨论】:

    【解决方案4】:
    猜你喜欢
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2013-11-01
    • 1970-01-01
    • 2017-10-13
    • 2023-03-28
    相关资源
    最近更新 更多