免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2863 | 回复: 4
打印 上一主题 下一主题

lighttpd 关于配置文件的加载??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-21 22:26 |只看该作者 |倒序浏览
看lighttpd源码,其他部分还好,
但关于配置文件加载这部分尤其configparser.c 看不懂,
这部分代码写的很怪,哪位看过关于配置文件加载的 说说大体流程 思想吗?

论坛徽章:
0
2 [报告]
发表于 2009-08-23 00:11 |只看该作者
up

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2009-08-23 03:01 |只看该作者
我说说配置文件加载的设计思想:
1,定义变量和数据结构
2,读取文件,给变量赋值
3,文件变化以后,通过某种方式调用第二步。

论坛徽章:
0
4 [报告]
发表于 2009-08-23 16:50 |只看该作者
configparser.c 中 #line 142 "./configparser.y" 啥意思?configparser.y 什么文件?
代码如下:
  1. static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
  2.   switch( yymajor ){
  3.     case 1:
  4.     case 2:
  5.     case 3:
  6.     case 4:
  7.     case 5:
  8.     case 6:
  9.     case 7:
  10.     case 8:
  11.     case 9:
  12.     case 10:
  13.     case 11:
  14.     case 12:
  15.     case 13:
  16.     case 14:
  17.     case 15:
  18.     case 16:
  19.     case 17:
  20.     case 18:
  21.     case 19:
  22.     case 20:
  23.     case 21:
  24.     case 22:
  25.     case 23:
  26.     case 24:
  27.     case 25:
  28. #line 142 "./configparser.y"
  29. { buffer_free((yypminor->yy0)); }
  30. #line 518 "configparser.c"
  31.       break;
  32.     case 35:
  33. #line 133 "./configparser.y"
  34. { (yypminor->yy41)->free((yypminor->yy41)); }
  35. #line 523 "configparser.c"
  36.       break;
  37.     case 36:
  38. #line 134 "./configparser.y"
  39. { (yypminor->yy41)->free((yypminor->yy41)); }
  40. #line 528 "configparser.c"
  41.       break;
  42.     case 37:
  43. #line 135 "./configparser.y"
  44. { (yypminor->yy41)->free((yypminor->yy41)); }
  45. #line 533 "configparser.c"
  46.       break;
  47.     case 39:
  48. #line 136 "./configparser.y"
  49. { array_free((yypminor->yy40)); }
  50. #line 538 "configparser.c"
  51.       break;
  52.     case 40:
  53. #line 137 "./configparser.y"
  54. { array_free((yypminor->yy40)); }
  55. #line 543 "configparser.c"
  56.       break;
  57.     case 41:
  58. #line 138 "./configparser.y"
  59. { buffer_free((yypminor->yy43)); }
  60. #line 548 "configparser.c"
  61.       break;
  62.     case 42:
  63. #line 139 "./configparser.y"
  64. { buffer_free((yypminor->yy43)); }
  65. #line 553 "configparser.c"
  66.       break;
  67.     default:  break;   /* If no destructor action specified: do nothing */
  68.   }
  69. }
复制代码

论坛徽章:
0
5 [报告]
发表于 2009-08-23 17:52 |只看该作者
原帖由 lin_01 于 2009-8-23 16:50 发表
configparser.c 中 #line 142 "./configparser.y" 啥意思?configparser.y 什么文件?
代码如下:
static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
  switch( yymajor ){
    case ...

man yacc
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP