Try   HackMD

2023q1 Homework4 (quiz4)

contributed by < lorian0738 >

紅黑樹

疑問

  • 紅黑樹的移除

    有許多 Case,但看不懂,或許會有完整程式碼?
  • 紅黑樹節點

    為何 struct rb_node 對齊 sizeof(long) 後,指標最低 2 個位元就會沒有使用到?

小筆記

  • container_of or rb_entry
    這部分提到使用 container_of 或 entry 的情形,第一次作業這邊也用得有點混亂
    1. container_of:存取節點的 container structure 時
    2. XXXX_entry:存取節點 container structure 裡的 member

前置處理器應用篇

小筆記

  • 前置處理器 = 展開的操作

  • 產生前置處理器的 code
    gcc -E -P objects.c > out.c
    其中 -E 表示在前置處理器的時候停下來
    -P 表示直接展開 prototype 那些資訊

  • 找某份程式碼是被誰用到
    grep "use-models.h" *

  • 了解專案規模

  1. 先清除 output 檔案
  2. 再用 make clean 把不必要的東西清除
  3. cloc .:其中 cloc 用來計算規模, . 則表示在當前目錄下執行

測驗 1

測驗 2

測驗 3