在阅读有关PHP Zend Engine内部的内容时,我遇到了函数
zend_parse_parameters()
,其用途如下
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &number) != SUCCESS) {
return;
}
我对第一个参数感到困惑,因为它由两个用空格分隔的单独实体组成:ZEND_NUM_ARGS()
和TSRMLS_CC
。我从未在C中看到过这样的事情。有人可以解释如何在C语法规则中理解这一点吗?
zend_parse_parameters()
的原型如下:
int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...)
答案 0 :(得分:0)
从C的角度来看,ZEND_NUM_ARGS
,TSRMLS_CC
和TSRMLS_DC
只是宏。它们特定于Zend内部。本文介绍了它们的用法以及将扩展的内容:
http://blog.golemon.com/2006/06/what-heck-is-tsrmlscc-anyway.html