contributed by < kata1219
>
1
發現了一個我還沒看過的用法 __attribute__((aligned(sizeof(long))))
。由於題目中需要計算記憶體地址,訂定明確的 struct 大小。
補充
ChatGPT: 此段是用來將這個 struct 對齊為 long 的長度,這樣可以確保在結構體中使用的 long 變量的存取速度最快。
根據 你所不知道的 C 語言:記憶體管理、對齊及硬體特性,如使用 64 位元的電腦在 malloc 時會以 16 bytes 對齊,使用上面方法對齊可從 減少為 。
cmap_new()
使用到了函式指標,在 q_sort()
中也有類似的用法,用來決定排序的順序。
又一個發現一個用法
ChatGPT: 用於創建一個封閉的區塊,從而允許定義區塊中的區域變數。
感覺寫起來比下面這個作法更簡潔。
node_t
結構如下:
指出 treesort.c 程式碼的缺失並改進
利用 Linux 核心的 list.h 標頭檔改寫並整合進第一次作業的實驗程式碼中,探討 Tree sort 的效率
研讀 Linux 核心的 Red–black tree 程式碼,比較給定的 treesort.c 實作手法,指出後者的改進空間並予以實作
2
3
4