版本 2eb12d5b0befd1a05d7fc447a9babab43d0d5217
User/XDEv11
XDEv11 (陳舜寧)
個人簡介
- 國立成功大學資訊工程學系學士班(2018~)
Linux Kernel Internals 2021 春季班
問題選答(回顧內容)
- 知道 x - y < 0 敘述為何不能寫為 x < y 嗎? (CS:APP 第 2 章)
- x - y 有可能會發生整數溢位,前後者結果並不一定相等。
- 知道 Linux 核心 < include/linux/list.h> 裡頭 #define
list_for_each_prev(pos, head) for (pos = (head)->prev; pos != (head);
pos = pos->prev) 這樣的巨集到底在做什麼?以及
head使用時需要加小括號,為何?
Linux list 是一個雙向鏈結串列,給定一個位置當起始點 (
head),會從起始點的前一個位置一直繞一圈。head有可能不只是一個變數,因為list_for_each_prev為巨集,為了確保head先被計算,所以加上小括號。
- 知道 Linux 核心 < include/linux/list.h> 裡頭 #define
list_for_each_prev(pos, head) for (pos = (head)->prev; pos != (head);
pos = pos->prev) 這樣的巨集到底在做什麼?以及
- 知道如何寫出時間複雜度和空間複雜度皆為 O(1) 的 abs64 嗎?(沒有分支) 這樣的 abs64 又可用於真實世界哪邊?
課程專題
自我評量分數
43 / 50
