摘要: 1.背景 本文主要是博主针对在apue中的1.10系统调用和库函数的补充,也就是通过查阅其他书籍来进一步深入搞明白linux中的系统调用,在本文最后博主将会把参阅的书籍列出,另外需要注意的是本文主要讲解的linux下的系统调用,其次如果本文中有任何错误的地方,还望提出。 2.内容 系统调用是操作系统 阅读全文
posted @ 2019-11-26 22:28 zhuiyicc 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1.简介 本文主要是为了解读configure脚本做了什么,我将对configure脚本分成多个块进行解析,主要是解读shell脚本代码,注意作者的系统是ubuntu19,可能提到的作者所写的部分代码在Windows下无法运行,另外如果有读者不懂shell编程,也可以阅读此文,我将会尽可能的将这些内 阅读全文
posted @ 2019-11-21 19:32 zhuiyicc 阅读(537) 评论(1) 推荐(0) 编辑
摘要: 1.简介: 这篇文章肯定是未完待续的...因为作者本身也是刚开始看nginx,只能逐步更新了...如果有错误的地方还望诸君海涵并指出。讲解的内容主要是按顺序在main函数中调用的其他函数或者宏的作用,其中定义的一些变量不会赘述,但会提到...另外每次介绍函数我都会在代码段中添加注释,主要是这个函数所 阅读全文
posted @ 2019-11-06 23:07 zhuiyicc 阅读(835) 评论(0) 推荐(0) 编辑
摘要: 1.IPv4套接字地址结构 struct in_addr{ in_addr_t s_addr;//unsigned int }; struct sockaddr_in{ //uint8_t sin_len 这个字段可能在其他系统上有,我的系统是ubuntu 19.04 下面介绍的地址结构类似 sa_ 阅读全文
posted @ 2019-11-05 20:14 zhuiyicc 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 1.地址转换函数有哪些? #include <arpa/inet.h>int inet_aton(const char *strptr,struct in_addr *addrptr);//返回:若字符串有效则为1,否则为0 in_addr_t inet_addr(const char *strpt 阅读全文
posted @ 2019-11-05 19:32 zhuiyicc 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1.背景 在nginx的Development guide中介绍Strings模块时,提到ngx_explicit_memzero()函数可以消除编译器的dead store elimination optimization(死区消除优化策略),使得编译器不会消除这个函数的调用。 2.ngx_exp 阅读全文
posted @ 2019-11-05 15:37 zhuiyicc 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 之前读过unix网络编程,现在在看nginx源码,很多套接字选项不记得了,因此每遇到一个套接字选项就在此文章中进行补充。 1.获取和设置套接字选项的方法: getsockopt,setsockopt函数 fcntl函数 ioctl函数 2.4种函数简介: I.getsockopt,setsockop 阅读全文
posted @ 2019-11-04 20:47 zhuiyicc 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 这里截取一段nginx里的结构体: struct ngx_listening_s { unsigned open:1; unsigned remain:1; unsigned ignore:1; unsigned bound:1; /* already bound */ unsigned inher 阅读全文
posted @ 2019-11-04 20:11 zhuiyicc 阅读(163) 评论(0) 推荐(0) 编辑
摘要: nginx中的pool用到了这玩意: #define ngx_align(d, a) (((d) + (a - 1)) & ~(a - 1)) 其实这篇大部分不是解释这玩意啥用的...简单一句话就是得到一个a的倍数c,且这个倍数是d的最小弱上界,得到这个值啥好处,实际上就是得到一个对齐的地址,或者得 阅读全文
posted @ 2019-11-03 16:08 zhuiyicc 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 妈呀,写的我心态崩了,注意以下几点: 1.标记下放时应该立即更新子节点,才能pushup更新当前结点(此时实际上在当前结点的标记已经使用过了)。 2.最好类似线段树的建树方法,否则容易RE。 3.写个回收。 4.我这splay写的是菜出狗屎了,在rotate里面pushdown,妈呀,就是因为没注意 阅读全文
posted @ 2019-05-30 00:29 zhuiyicc 阅读(102) 评论(0) 推荐(0) 编辑