摘要:
首先说下感受吧。这个是对nginx的main()函数的简单的分析了,大致看了下nginx.c的代码,发现有如下几个特点:一:高度模块化,唯一把多个模块串起来的就是ngx_cycle_s这个结构体。二:重新定义,不管是数据类型,还是库函数,还是系统函数,其都给它们包装了下, unix网络编程里面就提倡这种做法,并把之称之为包裹函数。三:注释太少,虽说里面有些代码是自明的,但是并不是所有的代码都能直接... 阅读全文
摘要:
用“剖析”这个词语有点大言不惭了。 一直对服务器编程感兴趣,选择nginx作为分析的对象是因为其效率比较高,代码量也比较合适(10W行左右),代码质量高,作者对效率要求非常高,对代码也有异乎寻常的洁癖。 打算写成一个系列,但是本人文档水平一直偏弱,而且写在这里主要目的也只是为了当作学习笔记记录,所以如果各位看官觉得水平太菜的话尽请见谅,如果有任何错误,敬请指出,在此先行谢过... 阅读全文
摘要:
Vim功能强大,而其强大的原因之一就是因为有众多插件支撑着。 下面介绍几个非常常用的插件: 一:Ctags---->跳转到函数(变量,宏..)的定义 我们在Visual Studio 中,如果要查看某一函数的定义只需按下F12即可, 那在Vim中怎么实现此功能?这就需要Ctags登场了。 严格的说Ctags并不是Vim的插件,而是一个单独的程序,它支持很多编辑器。 一般来说,Linu... 阅读全文
摘要:
相信在unix下编程的没有不知道makefile的,刚开始学习unix平台下的东西,了解了下makefile的制作,觉得有点东西可以记录下。 下面是一个极其简单的例子:现在我要编译一个Hello world,需要如下三个文件: 1. print.h #include<stdio.h> void printhello(); 2. print.c #in... 阅读全文
摘要:
要配置vim ,当然要修改.vimrc了。一:.vimrc在哪呢? 输入命令: vim ,打开vim编辑器,然后敲入version,vim 会把此版本的信息列出来,对我们有用的是如下信息: system vimrc file: “$VIM/vimrc” user vimrc file: "$Home/.vimrc" ............................ 阅读全文
摘要:
1.:sy on 语法高亮2.:set go = (set gui option = nothing)3.:colo evening4. tabnew :d\test.txt (Open a new file)5.set go =e6. :w (save)光标移动指令:1. h 左2. l 右3. k 上4. j 下5. Ctrl+f 向前翻页6.Ctrl+b 向后翻页7. 0 行首8. 移至行首... 阅读全文
摘要:
一: Root 账户 Ubuntu默认是不开启Root账户的,要开启的话可以先登录一个用户。然后,输入如下命令: sudo passwd root 密码:××××××二:控制台分辨率: 默认的分辨率是800×600,可以用如下方式修改: 1.切换到Root账户 2.打开/etc/default/gr... 阅读全文