【发布时间】:2019-07-16 05:31:54
【问题描述】:
在阅读 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, ...)
【问题讨论】:
-
TSRMLS_CC是一个宏,可以扩展为以逗号开头的内容或什么都没有
标签: c php-internals