- 博客(11)
- 收藏
- 关注
原创 【CSAPP】Lab3
目标:getbuf函数在test中被调用,当getbuf返回时跳到smoke函数执行先找到smoke函数的地址:0x8048e20查看getbuf函数,观察其栈帧结构,可以看到栈帧有0x18个字节,保存寄存器0x4个字节,缓冲区大小为0xc个字节因此,想要将返回地址用smoke函数地址覆盖,需要输入一个12 + 4 + 4 = 20字节的字符串,其中最后4字节替换为smoke函数地址,不妨另其余字节都为00:注意小端存储。
2024-11-27 16:18:11
244
原创 【CSAPP】Lab1
思路:首先排除无穷小,0,无穷大,非数值NaN,此时浮点数指数部分分别存储为0,0,255,255。思路:利用补码的性质来解决,当x为正数时,~x+1>>31值为-1;设4位补码x = [0111],则x + 1 = [1000],~(x + 1) = [0111],观察到有~(x + 1) == x的性质。思路:对正数,从低位到高位,寻找最高位的1所在的位数,然后加上一位符号位即可,对负数则寻找最高位的0所在位数。思路:将x转化为全1或全0,令选中的变量与全1按位与,另一个变量与全0按位与即可。
2024-11-27 16:17:11
960
原创 【Go-MySQL】time.Time 和 timestamp 类型的时区问题
日志中的时间参数生成于 time.Time 类型的 String 方法,该方法返回采用如下格式字符串的格式化时间:“2006-01-02 15:04:05.999999999 -0700 MST”,这与日志中的格式是一致的。TIMESTAMP 类型存储的是自 1970-01-01 00:00:01 +0000 UTC 到指定时间经过的秒数,在展示或检索数据时,再转为数据库指定时区的时间,即数据的存储和展示是分离的。因此,并非使用 string 类型不能传递有效的时区信息,而是使用的格式错误。
2022-09-22 10:22:40
3761
原创 【Go学习笔记】return 语句是原子操作吗?
函数返回值一开始就定义为变量 z。在 defer 语句执行之前,为 z 赋值 100;执行 defer 后,z 的值更新为 200,并作为函数返回值进行返回,因此返回值可以体现 defer 操作产生的变化。在 defer 语句执行之前,将 z 的值赋给一个临时变量,并将这个临时变量作为函数返回值,因此 defer 语句对 z 的操作不影响函数返回值。...
2022-08-15 17:19:41
467
原创 【Go学习笔记】时间和字符串转换(time)
Parse解析一个格式化的时间字符串并返回它代表的时间。自定义layout参数时必须采用这一规定时间,该时间具有各项取值皆不相等的特征,Parse方法通过解析各项取值来确定时间格式。
2022-08-15 10:17:29
4507
原创 【Go学习笔记】堆(container/heap)
源码package heapimport "sort"// The Interface type describes the requirements// for a type using the routines in this package.// Any type that implements it may be used as a// min-heap with the following invariants (established after// Init has been
2022-04-04 22:21:10
465
2
原创 【Leetcode】二分专题
LC240. 搜索二维矩阵 II链接:240方法一:二分查找思路对每一行进行二分查找。代码class Solution { public boolean searchMatrix(int[][] matrix, int target) { //每行二分 int m=matrix.length,n=matrix[0].length; for(int i=0;i<m;i++){ int l=0,r=n-1;
2022-02-08 00:24:34
475
原创 使用Anaconda配置多个python独立环境
在日常跑代码过程中,需要适应不同的代码运行环境,配置很不方便。利用Anaconda可以配置多个独立的python环境,使代码的运行环境互不干扰。
2021-12-02 15:47:17
7933
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人