CS:APP Lab 配环境踩坑实录
失业在家写写lab练手,懒得配环境,参考这个仓库直接docker pull!非常方便,就是镜像有点大。顺利写了data lab.然而bomb里用gdb run,我的电脑是m1 mac arm64,拉的镜像是amd64:
12345678910(gdb) runStarting program: /home/csapp/project/bomb/bomb warning: Error disabling address space randomization: Operation not permittedwarning: Unable to find dynamic linker breakpoint function.GDB will be unable to debug shared library initializersand track explicitly loaded dynamic code.[New LWP 352]qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such ...
CS:APP Datalab
CS:APP Datalab。
很棒的lab,大二ICS课上写过,又写了一遍,花了大半天,学到许多👍
intbitXor将x y中不相同的bit置1,相同的置0即可。
12345678910111213/* * bitXor - x^y using only ~ and & * Example: bitXor(4, 5) = 1 * Legal ops: ~ & * Max ops: 14 * Rating: 1 */int bitXor(int x, int y) { int a = (~x) & y; int b = x & (~y); int c = (~a) & (~b); return ~c;}
isTmax32位最大整数:m=0x7fff,m+1=m=0x8000,0xffff + 1 = ~0xffff = 0。判d段x+1与x是否相等,再检查~x是否为0即可
123456789101112/* * isTmax - returns ...