怎么看懂这3行c代码?

Posted

技术标签:

【中文标题】怎么看懂这3行c代码?【英文标题】:How to understand the 3 lines of c code? 【发布时间】: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 在发布之前显然没有付出任何努力,但我会不理会它......现在 【参考方案1】:

这个Zend article 说:

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

【讨论】:

你能详细介绍一下TSRMLS_CC吗?【参考方案2】:

见http://www.hospedajeydominios.com/mambo/documentacion-manual_php-pagina-zend_arguments_retrieval.html

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

http://docstore.mik.ua/orelly/webprog/php/ch14_07.htm

【讨论】:

以上是关于怎么看懂这3行c代码?的主要内容,如果未能解决你的问题,请参考以下文章

入门JavaScript?看懂这篇文章就够了!——Web前端系列学习笔记

入门JavaScript?看懂这篇文章就够了!——Web前端系列学习笔记

如何分析物联网设备问题,看懂这篇文章就够了

看懂这6张图,理解JVM内存布局就没问题了!

请教一个python写的交换矩阵行的代码问题

告诉你,这行源码有多牛逼。