自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

架构师专栏

专注于后台技术

  • 博客(8)
  • 收藏
  • 关注

原创 构造文法时表达式中算符优先级的问题

文法用于描述一种语言,语言中包含多个句子,句子又是由表达式组成的。多个原子表达式(不可再分的表达式,比如:a+b,c*d,-a等)和操作符或者括号一起又可以组成复合表达式(比如:a+b*c,a*(b+c)等)。在书写表达式文法时需要注意算符优先级问题,比如:四则运算中要优先计算乘除,然后才是加减,而被括号括起的表达式具有更高的优先级。解决优先级问题可以采取从优先级低的算符到优先级高的算符的顺序构造

2012-10-31 10:16:16 5052

原创 程序的前世今生——编译、链接和加载简介

本篇文章是组内分享的小结,主要介绍源代码 -> 可执行程序 -> 执行这一过程。也就是源代码是如何转化为可执行程序,然后可执行程序又是如何执行的。在用java或python时,只需要java ClsName或者python a.py就可以执行相应的程序,实际上它们都是依托于底层的虚拟机。本文主要介绍的是操作系统级别的连接、加载、执行等,而不是虚拟机语言的执行。这里只对链接、加载进行一个简介,详细内

2012-10-28 23:46:24 6405

原创 C语言字符串分割——strtok

之前遇到字符串分割的需求时,都是自己去实现,最近发现其实c标准库已经提供了这个功能。对标准库还是不熟悉啊,导致重复造车轮了,有必要把标准库看一下。。。        先看一下之前自己实现的字符串分割函数:void strsplit(const char *str, char *delim, void (*visitor)(const char *, int, int)){

2012-10-18 11:37:31 23217 10

原创 C语言可变参数列表应用——多字符串复制和链接

C标准库中头文件中包含可变参数列表的实现,完成遍历未知数目和类型的函数参数列表的功能。提供以下3个宏以及va_list变量:                va_start(va_list ap, lastarg):在提取可变参数前必须调用这个宏实现初始化。                va_arg(va_list ap, type_of_var):用于提取变量,type_of_var是

2012-10-17 23:27:08 5403

原创 Python语法解析器PLY——lex and yacc in Python

PLY是lex和yacc的python实现,包含了它们的大部分特性。PLY采用COC(Convention Over Configuration,惯例优于配置)的方式实现各种配置的组织,比如:强制词法单元的类型列表的名字为tokens,强制描述词法单元的规则的变量名为t_TOKENNAME等。本文主要是对PLY做一个基本的介绍。一. 词法分析1. 词法单元的类型列表(token list)

2012-10-16 22:56:50 45505 4

原创 nginx源码分析(9)——filter模块

phase handler处理中介绍了content handler用于产生响应内容,随便找一个content phase的模块,比如:ngx_http_static_module.c,会发现在content handler中会调用ngx_http_send_header,然后最后调用ngx_http_output_filter。这两个函数就是发送响应头部和响应体的,在nginx中输出内容是通过f

2012-10-11 18:11:14 7692 7

原创 nginx源码分析(8)——phase handler处理

nginx将请求的处理过程划分为11个phase(阶段),相当于是对请求处理的一种抽象,便于定制处理过程。这个11个phase,分别是(定义在http/ngx_http_core_module.h):typedef enum { NGX_HTTP_POST_READ_PHASE = 0, /* 读取请求 */ NGX_HTTP_SERVER_REWRITE_PHAS

2012-10-10 14:12:55 9280 1

原创 nginx源码分析(7)——请求处理

在建立连接过程中,对于nginx监听到的每个客户端连接,都会将它的读事件的handler设置为ngx_http_init_request函数,这个函数就是请求处理的入口。在处理请求时,主要就是要解析http请求,比如:uri,请求行等,然后再根据请求生成响应。下面看一下nginx处理的具体过程。1. ngx_http_init_request        在ngx_http_in

2012-10-09 11:18:28 9255

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除