免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: converse
打印 上一主题 下一主题

lighttpd1.4.18代码分析 [复制链接]

论坛徽章:
0
71 [报告]
发表于 2008-09-28 13:49 |只看该作者
非常感谢!!!

论坛徽章:
0
72 [报告]
发表于 2008-09-28 13:55 |只看该作者
lighttpd相对于apache有什么突破性的地方吗?

论坛徽章:
0
73 [报告]
发表于 2008-09-29 11:21 |只看该作者
lighttpd代码里的这些宏定义是在哪儿定义的?
代码跟踪了一下也没找到,在生成的Makefile里也没找到。
之前看thttpd的代码的时候在生成的Makefile里可以找的到这些宏定义,但在lighttpd里一直没找到。

论坛徽章:
0
74 [报告]
发表于 2008-09-29 11:35 |只看该作者
回楼上, *.c, *.h 里面都有。
宏 KVB 是在 keyvalue.h 中定义的.

论坛徽章:
0
75 [报告]
发表于 2008-09-29 20:17 |只看该作者

回复 #76 libin1983 的帖子

那像这样的

#ifdef HAVE_FORK
        /* network is up, let's deamonize ourself */
        if (srv->srvconf.dont_daemonize == 0) daemonize();
#endif

这个HAVE_FORK是在哪儿定义的?
我觉得是应该根据系统在生成Makefile的时候以-D先项传进来的,但我在Makefile里只看一个-DHAVE_CONFIG。其它的都没找到。

论坛徽章:
0
76 [报告]
发表于 2008-09-29 20:33 |只看该作者

回复 #77 boywonder 的帖子

这个HAVE_FORK应该是在configure的时候生成的.

论坛徽章:
0
77 [报告]
发表于 2008-09-30 09:10 |只看该作者

回复 #78 converse 的帖子

谢谢,明白是怎么回事了。

原来是在configure的时候会在当前目录下生成一个config.h的文件,里面就有这种HAVE_##形式的宏定义,同时在Makefile里会用DEFS = -DHAVE_CONFIG_H把HAVE_CONFIG_H 传进去,在源文件里通过判断这个宏来#include "config.h",这样HAVE_##之类的宏就有定义了。

因为我跟踪代码的时候只在src目录下生成了cscope和ctags文件,没有包含上层目录,所以一直没跟到这些宏定义,走了一些弯路,呵呵。。。

论坛徽章:
0
78 [报告]
发表于 2008-10-05 08:35 |只看该作者
楼主辛苦了
学习学习,关注……

论坛徽章:
0
79 [报告]
发表于 2008-10-05 09:05 |只看该作者
学习啊!!!

呵呵...

论坛徽章:
0
80 [报告]
发表于 2008-10-07 16:39 |只看该作者
谢谢。。。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP