![](https://img-blog.csdnimg.cn/20210130173712663.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
CSAPP
文章平均质量分 80
csapp~
张嘉睿大聪明
这个博主很懒,什么都没有留下...
展开
-
CSAPPP bomblab实验
https://blog.csdn.net/weixin_44227192/article/details/106982940这篇做的时候忘记记录了,可以参考上面这篇博文,我也不知道有没有用…下面这份答案仅供参考,每个人的答案基本都不一样,重要的是掌握方法,其实就是一些套路1、And they have no disregard for human life.2、0 1 3 6 10 153、0 3934、13 315、((()))6、5 2 1 3 6 4...原创 2021-07-12 18:08:13 · 227 阅读 · 0 评论 -
CSAPP datalab实验
1、bitAnd(1)InstructionsgetByte - Extract byte n from word xBytes numbered from 0 (LSB) to 3 (MSB)Examples: getByte(0x12345678,1) = 0x56Legal ops: ! ~ & ^ | + << >>Max ops: 6Rating: 2(2)代码德·摩根定律:非(A且B) = (非A) 或(非B)非(A或B) = (非原创 2021-02-01 16:30:52 · 5449 阅读 · 2 评论 -
CSAPP shelllab实验
一、准备工作Hints• 这是基于CSAPP教材第八章的配套实验。• 使用跟踪文件来指导 shell 的开发。从 trace01.txt 开始,确保 shell 产生与reference shell 相同的输出。然后继续跟踪文件 trace02.txt,以此类推。• waitpid、kill、fork、execve、setpgid 和 sigprocmaskfunctions将会被用到。waitpid 的WUNTRACED 和 WNOHANG 选项也会被用到。• 当我们实现信号处理程序时,请确保向原创 2021-02-01 16:31:08 · 2687 阅读 · 1 评论 -
CSAPP malloclab实验
书本配套实验地址构造一个分配器是一件富有挑战的任务。设计空间很大,有多种块格式、空闲链表格式,以及放置、分割和合并策略可供选择。另一个挑战就是我们经常被迫在类型系统的安全和熟悉的限定之外编程,依赖于容易出错的指针强制类型转换和指针运算,这些操作都属于典型的低层系统编程。一、理解动态内存分配器是个什么东西?其实动态内存分配器就是我们平时在C语言上用的malloc和free,realloc,通过分配堆上的内存给程序,我们通过向堆申请一块连续的内存,然后将堆中连续的内存按malloc所需要的块来分配,不够了原创 2021-02-01 16:29:44 · 3219 阅读 · 0 评论 -
Segmentation fault (core dumped)
一、配置操作系统使其产生core文件首先通过ulimit命 令查看一下系统是否配置支持了dump core的功能。通过ulimit -c或ulimit -a,可以查看core file大小的配置情况,如果为0,则表示系统关闭了dump core。可以通过ulimit -c unlimited来打开。若发生了段错误,但没有core dump,是由于系统禁止core文件的生成。解决方法:$ulimit -c unlimited或在~/.bashrc 的最后加入: ulimit -c unlimited原创 2021-01-06 23:35:07 · 536 阅读 · 0 评论 -
观察栈的调用(gdb)
以此递归程序为例#include<iostream>using namespace std;void PrintN(int N){ if (N>0) { PrintN(N-1); cout<<N<<endl; }}int main(){ int n; cin>>n; PrintN(n); return 0; }1、找到dev-c++中gdb所在的位置,把C2.递归01.exe文件移到gdb所在文件夹原创 2020-09-17 18:50:34 · 235 阅读 · 0 评论