如何理解这3行c代码?

发布于 2024-10-02 11:35:00 字数 179 浏览 10 评论 0原文

 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &flag) == FAILURE) {
  return;
 }

特别是 ZEND_NUM_ARGS() TSRMLS_CC 在做什么?

 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &flag) == FAILURE) {
  return;
 }

Especially what's ZEND_NUM_ARGS() TSRMLS_CC doing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

画中仙 2024-10-09 11:35:00

看起来 TSRMLS_CC 是一个宏,可能会扩展为空,或者可能扩展为一个额外的参数,并在其中抛出一个逗号:

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

It looks like TSRMLS_CC is a macro that might expand to nothing or it might expand to an extra argument with a comma thrown in there:

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

再见回来 2024-10-09 11:35:00

这篇 Zend 文章 说:

大部分
zend_parse_parameters() 块将
几乎总是看起来一样。
ZEND_NUM_ARGS() 提供提示
Zend Engine有关参数
要检索,TSRMLS_CC 是
存在以确保线程安全


This Zend article says:

The bulk of the
zend_parse_parameters() block will
almost always look the same.
ZEND_NUM_ARGS() provides a hint to the
Zend Engine
about the parameters which
are to be retrieved, TSRMLS_CC is
present to ensure thread safety

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文