+
[加法], -
[減法], *
[乘法], ^
, &
[逐位元 AND] 等等) 和運算元 (operand) 之間用一個空白字元 (不多不少!) 區隔,如 (v >> c)
、逗點 (,
) 後應該有空白或換行符號,並避免非必要的小括號 (即 (
和 )
),也該刪去 (trim) 起始/結尾的空白字元
<embedded.master2015@gmail.com>
),通知課程事宜和提供電子書考慮 S-Tree名稱沒特別意思,不用去Google搜尋 是個嘗試兼具 AVL tree 和 red-black tree 部分特性的 binary search tree (BST) 實作,著重在快速的 insert/delete 操作且合理的 lookup 速度。
測試情境為:
參考輸出如下:
注意到以下特性:
[ After removals ]
的輸出不包含 Removing
指定的數值原始程式碼可見 main.c (部分遮蔽)
作答規範:
AAAA
, BBBB
, CCCC
, DDDD
, EEEE
, FFFF
, GGGG
均該包含 st_
開頭的函式或巨集,且不包含 ;
字元延伸問題:
以下程式碼可針對給定的 alignment 數值,輸出大於等於 alignment 的記憶體對齊地址:
已知 alignment 不為 0
,參考執行輸出:
請填補上述 MMMM
標注的程式碼,使得執行結果符合預期。限制只能用 +
, -
, |
, &
, ^
, ~
, <<
, >>
等運算子,不得出現 ternary conditional operator (即 ?
搭配 :
),且不該出現 alignment
必須符合 .clang-format 規範的程式碼排版風格
延伸問題:
align_up
的程式碼,並舉例說明其用法搭配 並行和多執行緒程式設計
考慮用 POSIX Thread 改寫的 qsort(3p) 實作,測試程式用法:
選項 -l
可指定使用 glibc (或系統預設的 libc) 的 qsort
。原始程式碼可見 qsort-mt.c (部分遮蔽)
編譯方式:
請補完程式碼,使其運作符合預期。作答規範:
HHHH
和 JJJJ
都包含 pthread_
開頭的函式,且均不包含 ;
字元延伸問題:
回答上述測驗題 到 的所有延伸問題,建立 HackMD 頁面、設定權限為「已登入者可編輯」(這樣授課教師才能給予眉批)、用固定網址發布筆記 (建議命名為 linux2023-summer-quiz
),並依據下方格式來答覆延伸問題:
##
開頭並標注題目,如 ## 測驗
表示「測驗 」的第一個延伸問題書寫規範:
延伸閱讀: