Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402291
  • 博文数量: 87
  • 博客积分: 2571
  • 博客等级: 少校
  • 技术积分: 920
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-29 13:10
文章分类

全部博文(87)

文章存档

2012年(49)

2011年(7)

2010年(26)

2009年(5)

分类: C/C++

2012-02-13 10:15:06

看源代码时,会注意到有些宏(宏全部大写,中间用下划线隔开,这是nginx代码规范。实际上,绝大多数系统均采用此规范)找不到定义,例如NGX_PREFIX、NGX_CONF_PREFIX、NGX_CONF_PATH等。

实际上,这些宏定义由configure程序进行自动配置时生成。配置时会自动生成ngx_auto_config.h文件(如果你用source insight阅读源代码,需要将该文件加入工程),如下。

./objs/ngx_auto_config.h(此处列出其中一部分常用的宏,未按顺序)

  1. #ifndef NGX_COMPILER
  2. #define NGX_COMPILER "gcc 4.6.1 20110908 (Red Hat 4.6.1-9) (GCC) "
  3. #endif

  4. #ifndef NGX_PCRE
  5. #define NGX_PCRE 1
  6. #endif

  7. #ifndef NGX_PREFIX
  8. #define NGX_PREFIX "/usr/local/nginx/"
  9. #endif

  10. #ifndef NGX_CONF_PREFIX
  11. #define NGX_CONF_PREFIX "conf/"
  12. #endif

  13. #ifndef NGX_CONF_PATH
  14. #define NGX_CONF_PATH "conf/nginx.conf"
  15. #endif

  16. #ifndef NGX_PID_PATH
  17. #define NGX_PID_PATH "logs/nginx.pid"
  18. #endif

  19. #ifndef NGX_LOCK_PATH
  20. #define NGX_LOCK_PATH "logs/nginx.lock"

  21. #ifndef NGX_ERROR_LOG_PATH
  22. #define NGX_ERROR_LOG_PATH "logs/error.log"
  23. #endif

  24. #ifndef NGX_HTTP_LOG_PATH
  25. #define NGX_HTTP_LOG_PATH "logs/access.log"
  26. #endif

  27. #ifndef NGX_HTTP_CLIENT_TEMP_PATH
  28. #define NGX_HTTP_CLIENT_TEMP_PATH "client_body_temp"
  29. #endif

  30. #ifndef NGX_HTTP_PROXY_TEMP_PATH
  31. #define NGX_HTTP_PROXY_TEMP_PATH "proxy_temp"
  32. #endif

阅读(2199) | 评论(0) | 转发(0) |
0

上一篇:OpenStack--nova

下一篇:B编码格式

给主人留下些什么吧!~~