- 博客(8)
- 收藏
- 关注
原创 程序的机器级表示
程序的机器级表示时隔一年把 CS:APP 再看一遍,尤其针对栈的运行机制加深理解。访问信息16个通用寄存器一个 x86-64 CPU 包含一组16个存储64位值的通用目的寄存器。虽然是通用寄存器,但也有一些约定成俗的用法。r8 r9 … 为80386之后扩展的8个寄存器raxraxrax, 返回值rbxrbxrbx, 被调用者保存rcxrcxrcx, 第4个参数rdxrdxrdx...
2019-08-09 18:46:07
355
原创 最大子数组问题
最大子数组问题本文只是做一个记录,更细致的思路请查看算法导论最大子数组结构体typedef struct { int low, high, sum;} SubArray;暴力求解 计算所有的数组区间的和进而得到最大的子数组,算法复杂度为θ(n²)。这种方法在小规模的数据表现很好,d但是在大规模数据中则很糟糕,但可用作分治算法的改进。实现的思路是先计算从以i为起始的最...
2018-09-01 20:16:40
380
2
原创 升级 Linux 内核版本(编译源代码)
升级内核版本(自己编译源码)从 linux 官网 https://www.kernel.org/ 下载内核源码解压 tar -xvf linux-4.16.8.tar.xz cd linux-4.16.8/ 编译(出现问题) make 出现/bin/sh: 1: bison: not foundscripts/Makefile.lib:217: ...
2018-05-14 17:11:55
13633
原创 TCP/IP UDP 协议首部及数据进入协议栈封装的过程
数据的封装 UDP 封装 TCP 封装 IP 封装 检验和算法 当应用程序用TCP传送数据时,数据被传送入协议栈中,然后逐一通过每一层直到被当作一串比特流送入网络 注: UDP数据TCP数据基本一致. 唯一不同的是UDP传给IP的信息单元称作UDP数据报其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息) 注: 4个字节的32b...
2018-04-15 19:39:30
3923
原创 OSI 7层模型和 TCP/IP 5层模型
网络协议通常分不同层次进行开发,每一层分别负责不同的通行功能。 两种参考模型 OSI 和 TCP/IP, OSI 先有模型后有协议,TCP/IP 则相反。OSI 7层模型 - 应用层 - 表示层 - 会话层 - 传输层 - 网络层 - 数据链路层 - 物理层 TCP/IP 5层模型 - 应用层 - 传输层 - 网络层 - 数据...
2018-04-15 18:18:31
749
原创 Vim 写 C/C++ 的配置
准备重装系统,把一些当前使用的 .vimrc上传一下,后续继续更新基本的配置,缩进显示行号等给每个 C/C++ 文件添加头部,显示作者,文件创建时间F5 编译 F6 执行 C/C++源代码Ctrl + F 利用用 astyle 格式化代码使用 clang_complete 对代码进行补全set tabstop=4set expandtabset softtabstop=...
2018-03-24 14:15:20
3524
原创 C C++ POSIX 的一些 IO 操作
一些 C C++ POSIX 的 IO 操作总结文件-内存之间内存-内存之间POSIX 有无缓冲的 IO 操作 对文件的操作,读文件至内存,从内存写至文件// 读文件至内存buf中void Fread(){ char buf[BUFSIZE]; size_t flen = 0; FILE *fp = fopen("./f...
2018-03-09 14:58:20
651
原创 左式堆的合并
二叉堆对于合并操作是困难的,因为需要把一个数组拷贝到另一个数组。左式堆可以高效的地支持合并操作, 左式堆与二叉树之间唯一区别是,左式堆不是平衡的,可能非常趋向不平衡。// 左式堆的结构typedef struct TreeNode { element_t element; struct TreeNode *left; struct TreeNode *right;
2017-03-10 11:33:54
1563
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人