Monthly Archives: 12月 2008
究竟什么是TSRMLS_CC?
翻译:54chen.com 原文地址:http://blog.libssh2.org/index.php?/archives/22-What-the-heck-is-TSRMLS_CC-anyway.html 如果你曾经做过php内核或者是php扩展方面的工作,你一定见到过这个到处都是的结构,但是却从来没有人提起过它。知道这是什么的人典型回答不知道的人都会这样说:“不用管它是什么,只需要在这里、这里还有这里用,如果编译器说少一个tsrm_ls,就加一个...”。这样回答并非都是因为这个人懒惰(的确是有一点点懒),其实那只是在说引擎甚至可以不管这个神奇的值在简化什么,这是因为一个新入门的扩展开发者知道它的结构没有什么益处。这信息就像奶牛的意见一样,没关系,就是牛叫而已。 既然我喜欢听自己喋喋不休的无意义主题(这个月我已经少写很多博客了),我想我得弥补这一主题,看看会不会有人通过他能领会什么。你可以责怪Lukas(Lukas Smith 是 PEAR DB 的主要作者应该是这个Lukas,译者注),他让我一直在planet-php.net上。 术语 TSRM Thread Safe Resource Manager - 这是一个经常被忽视的层面,就会有也是很少被讨论到,在你的PHP源代码包中,它被隐藏在/TSRM目录中。默认情况下,TSRM 层只在编译需要它的SAPI的时候才会打开(例如apache2-worker)。所有的在win32下编译的SAPI都会有TSRM层而不会管它们是否需要。 ZTS Zend Thread Ssafety -通常情况下,与TSRM有相同的用处。具体
sscanf函数的各种用法
sscanf是一个运行时函数,原形很简单: int sscanf( const char *buffer, const char *format [, argument ] ... ); 它强大的功能体现在对format的支持上。 sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。 char str[512] = ; sscanf("123456 ", "%s", str); printf("str=%s", str); 输出 str=123456 sscanf("123456 ", "%4s", str); printf("str=%s", str); 输出 str = 1234 sscanf("123456 abcdedf", "%[^ ]", str); printf("str=%s", str); 输出 str=123456 (遇到空格为止) sscanf("123456abcdedfBCDEF", "%[^A-Z]", str); printf("str=%s", str); 输出 str=123456abcdef (遇到指定字符为止) …
SEARCH
Update
- rose手册第三章三节:controller层:ErrorHandler支持
- 54chen Twitter memo 2012-05-13
- 54chen Twitter memo 2012-05-06
- rose手册第三章二节:controller层:拦截器支持
- 54chen Twitter memo 2012-04-29
- rose手册第三章一节:controller层:url对照规则与返回结果规则
- 54chen Twitter memo 2012-04-22
- 54chen Twitter memo 2012-04-15
- rose手册第二章:配置与使用
- 54chen Twitter memo 2012-04-08
- 54chen Twitter memo 2012-04-01
- rose手册第一章:入门指引
- 54chen Twitter memo 2012-03-25
- 54chen Twitter memo 2012-03-18
- senseidb使用手记
