CSAPP
小菜鸡加油
菜鸡
什么都能折磨
展开
-
解决CMU-15-213-ICS的部分lab在部分64位系统WSL中btest无法运行的问题
https://www.cnblogs.com/wr786/p/13818000.html背景这学期在学ICS课,有部分同学表示用64位系统的WSLmake btest之后./btest会报出如上的错误。通过搜索引擎搜索,网络上大部分都将这个原因归结为系统问题,需要使用32位系统才行。但是,今宵我初读CSAPP(《没人理解计算机系统》)时,在第3版第27页的2.1.2 字数据大小这节中看到大多数64位机器也可以运行为32位机器编译的程序,这是一种向后兼容。因此,举例来说,当程序..转载 2021-07-13 16:22:41 · 504 阅读 · 0 评论 -
(root用户)bash: ./xx: Permission denied解决方法
为了获得执行权限,借助chmod指令修改文件权限即可chomd 777 xxx这个xxx是你的文件名原创 2021-07-12 18:48:55 · 1402 阅读 · 0 评论 -
Couldn‘t map stack to segment at 0x5558600 解决方案
当时搜了百度没看到解决方案,只看到一篇。google上去还是那一篇。碰到这个问题大概是wsl跑attack-lab的./ctarget碰到的。然后试验了一下./rtarget发现可以正常输入字符串。https://stackoverflow.com/questions/53878396/why-telling-me-couldnt-map-stack-to-segment下面那个-1的回答是正确的。wsl1确实存在问题。更新成wsl2即可解决。更新方法:1、下载linux更新包htt原创 2021-07-27 12:44:26 · 562 阅读 · 0 评论 -
cachelab题解
前言如果存在什么奇怪的问题1.压缩包放到linux环境下再解压,并且不要放共享文件夹里做2.不建议使用wsl1和wsl2英文水平有限以及对cache理解命中率优化有限参考了现有网上很多大佬的题解以及这个实验是有一份ppt的,这份ppt里面介绍了两个模拟要用的库函数。ppt链接:http://www.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/recitations/rec07.pdfPartA要求我们模拟cache的行为,原创 2021-08-12 00:40:00 · 800 阅读 · 1 评论 -
课程概览与 shell 笔记
shell 是什么?如今的计算机有着多种多样的交互接口让我们可以进行指令的的输入,从炫酷的图像用户界面(GUI),语音输入甚至是 AR/VR 都已经无处不在。 这些交互接口可以覆盖 80% 的使用场景,但是它们也从根本上限制了您的操作方式——你不能点击一个不存在的按钮或者是用语音输入一个还没有被录入的指令。 为了充分利用计算机的能力,我们不得不回到最根本的方式,使用文字接口:Shell使用 shell打开时这样:$符号表示现在的身份不是 root 用户当前所在的位置是~(表示 “h...原创 2021-07-29 19:40:31 · 391 阅读 · 0 评论 -
E: Unable to correct problems, you have held broken packages 解决方法
老镜像源的问题了配置:Ubuntu :18.04cd /etc/apt/sources.listsudo vi sources.list更新个大的sudo apt-get updatesudo apt-get upgrade #(可要可不要)#添加阿里源deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ub原创 2021-08-14 14:27:10 · 319 阅读 · 0 评论 -
DataLab详解
水平有限欢迎讨论有些函数里面定义变量要提前在函数的第一行定义完的,不然编译的时候会报parse error的错误一些要点:1.可以用x^y判断两数是否相等。但是如果要返回结果变成0/1还是需要关键的!(非)。2.实现if或者三目运算符。两种方法,但是主要思路是把正数变成1然后取反成-1就是0xffffffff 再和另一边~的用|结合来实现。int conditional(int x, int y, int z) { x=!!x; x=~x+1.原创 2021-07-13 21:26:33 · 1196 阅读 · 0 评论 -
XFTP/Xshell能ping通但连不上
1.检查是否安装了openssh-server我是直接跑cd /然后用fdfind(一个插件)搜的。没有的话就看下系统的find 命令搜2.找到了/etc/ssh/目录下的sshd服务配置文件sshd_config,用Vim编辑器打开将文件中,关于监听端口、监听地址前的 # 号去除然后开启允许远程登录最后,开启使用用户名密码来作为连接验证但是有的不用去修改配置。直接第三步3.开启 sshd 服务,输入sudo service sshd start然后检查 sshd 服...原创 2021-08-01 16:38:29 · 4110 阅读 · 0 评论 -
提示/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: 错误
64位机子编译32位的锅。sudo apt-get install gcc-multilib g++-multilib module-assistant原创 2021-07-13 16:09:24 · 340 阅读 · 0 评论 -
cachelab-B运行失败(Validation error at function 0!)
开始时候是没安装Validation,安装了后继续报错。配置为Ubuntu20.04 (wsl2),百度和google都没有相关问题。(每次都能碰到一些狼灭问题)解决方案:换虚拟机。亲测换完虚拟机后问题就解决了。这是wsl2下的:我随手掏了下别人代码测了一下,说明了虚拟机下是正常运行的。另外注意,放共享文件夹里面跑是极可能存在问题的。把里面的文件mv到虚拟机本地文件夹就可以。...原创 2021-08-10 23:34:52 · 693 阅读 · 0 评论 -
CSAPP : Arch Lab 解题报告
准备官网下好解压。载入tar文件,运用tar xvf archlab-handout.tar将文件解压。里面包含README, Makefile, sim.tar, archlab.ps, archlab.pdf, and simguide.pdf.于是你可能有以下问题如果出现can not locate 就是镜像源不行。可以去网上搜个阿里云的。然后再把/etc/apt/sources.list把里面的网址都换了。换后注意sudo update/usr/bin/ld: cannot .原创 2021-08-05 23:35:01 · 2461 阅读 · 1 评论