docker在WSL2环境中的代理问题

事情的起因

是,电脑最近重装了系统之后,docker一直还没安装,最近做毕设正好有需求,再加上久闻docker大名,想要成为docker糕手😍

但是,如果你:

  1. 人在中国
  2. 使用windows系统下的docker desktop
  3. 使用WSL2而不是WSL1

那么恭喜你,你将喜提一个超~~级难debug的bug(好像是最近一个新的bug,仓库里有人发了关于这个问题的issue


Read more

cse-lab2a踩坑

  1. ifstream::eof()有bug。

    如果有一个文件test.txt,文件内容是:

    1
    2
    3
    4
    1 a
    2 ab
    3 abc

    (注意,最后有一个空行)

    则,当时用下面的代码时,会有问题。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int main() {
    ifstream in("test.txt");
    while (!in.eof()) {
    int length;
    in >> length;
    char tmp[length + 1];
    in.read(tmp, length);
    cout << tmp << endl;
    }
    }

    原因在于,第三行读取完成后,不管是否将最后的换行符进行了消除,eof()会仍然返回false,因为只有当读到最后一个字符并尝试继续读的时候,该函数才会返回true。

Read more

cse-lab1踩坑

  1. memcpy与strncpy。
  2. get_inode需要在堆中分配内存。
  3. 局部字符数组最好初始化为0。
  4. ino的block不要随便free,有可能free掉别人的合法block。
Read more