02 2017 档案
摘要:1. 什么是野指针(wild pointer)? 野指针(wild pointer)就是没有被初始化过的指针。例如, o foo1.c 如果用"gcc -Wall"编译, 会出现如下警告: 2. 什么是悬空指针(dangling pointer)? 悬空指针是指针最初指向的内存已经被释放了的一种指针
阅读全文
摘要:树在数据结构中占有非常重要的地位。本文从树的基本概念入手,给出完美(Perfect)二叉树,完全(Complete)二叉树和完满(Full)二叉树的区别。如果学习过二叉树,但是对这三种二叉树并没有深入的理解,或者完全被国产数据结构教科书所误导(只听说过满二叉树和完全二叉树)的朋友不妨花点时间耐着性子
阅读全文
posted @ 2017-02-25 13:56
veli
摘要:熟悉传统网络协议栈但对InfiniBand协议栈好奇的朋友可以通过下图有一个宏观上的印象。 IB实现了"高带宽,低延时"的网络互联,最大的魅力就是支持RDMA,而RDMA就其本质,不过就是kernel by pass。 "CPU大大实在是太忙啦,咋整? 用专用的硬件来帮忙!" 当初的DMA就是基于这
阅读全文
摘要:本文首先对文章Intel and AT&T Syntax做一个中英文对照翻译,然后给出一个简单的例子,再用gdb反汇编后,对INTEL与AT&T的汇编语法进行对照从而加深理解。 1. Prefixs. 前缀 Example: 2. Direction of Operands. 运算方向 Exampl
阅读全文
摘要:在Unix/Linux内核代码以及GNU libc源代码中,有两个C的宏被广泛使用。 例如: 在gdb中用命令macro定义并展开看看, 由此可见, #是将单个宏参数转换成一个字符串 ##则是将两个宏参数连接在一起 可以简记为“单#字符串,双#连接参”。 另外,也可以用"gcc -E"查看宏展开。例
阅读全文
摘要:在Linux系统中,有7种文件类型。 在Solaris上,还有一种文件类型, 叫做door文件。 而一个文件的Unix访问权限,包括12位,通常用4个8进制位表示, 通常我们使用"chmod 777 <file>", 本质上是"chmod 0777 <file>"。 SUID, SGID, SVTX
阅读全文
摘要:虽然handle和handler只有一个字符之差,但在计算机的世界里,含义却大相径庭。 1. 先说说handle 北京话说"一边儿玩儿去,玩勺子把儿去","勺子把儿"说的就是handle。而将handle译成"句柄"绝对是一个相当文雅相当阳春白雪的翻译,因为太文绉绉啦,很多文化底蕴不够的码农就看不大
阅读全文
摘要:在ILP32中, char, short, int, long, long long, pointer分别占1, 2, 4, 4, 8, 4个字节,在 LP64中, char, short, int, long, long long, pointer分别占1, 2, 4, 8, 8, 8个字节,无论
阅读全文
摘要:在最近的求职面试过程中,关于"建立TCP连接的三次握手"不止一次被问到了,虽然我以前用同样的问题面试过别人,但感觉还是不能给面试官一个很清晰的回答。本文算是对整个TCP连接管理做一个比较系统的梳理。 1. TCP报文段结构(TCP Segment Structure)(i.e. TCP Header
阅读全文
摘要:在C的世界中,因为要考虑效率问题,所以在申请一段内存的时候,需要根据寄存器的宽度进行对齐。因此,对于32位的程序,按照4字节对齐;对于64位的程序,则按照8字节对齐。 o 下面使用位运算给出实现: o 用Python代码简单实现并验证一下: o 测试 最后,以8字节对齐讲解其实现原理。 设x = 8
阅读全文
摘要:理解ELF的BSS section, 可以概括为: Uninitialized global/static data "Block Started by Symbol" "Better Save Space" Has section header but occupies no space CSAP
阅读全文
摘要:一个典型的C程序内存布局,从低地址到高地址分别为: 1. text (正文段,即代码段 Code Segment) 2. data (已经初始化的数据段) 3. bss (未被初始化的数据段 Block Started by Symbol) 4. heap (堆) 5. stack (栈) 注1:上
阅读全文
摘要:假定字符串S,以字符序列a1a2...an表示。例如: 对于字符串"abc", 全排列为cba bca bac cab acb abc 本文采用非递归方法给出Python代码实现。 实现的思路采用从特殊到一般的方法(PS: 我的高中数学老师Mr Xie最为推崇的数学方法就是"从特殊到一般,再从一般到
阅读全文

浙公网安备 33010602011771号