contributed by < evanjack2002
>
linux2019
jump
和 return
。找到 expression 所歸屬的 data type。
e.g. typeof(a)
為 struct listitem
,typeof(b)
為 integer。
__pmember
常數變數 point to member
的 data type,並 assign ptr
值給 __pmember
常數變數。__pmember
常數變數的 lifecycle 只在此 {...}
內。__pmember
的位址,減去在 type
裡到 member
的位移量,得到 point to type
的位址。&a->list
的位址,減去 2 (offsetof(struct listitem, list)
為 2),會得到 &a
的位址
list.h
還定義一系列操作,為什麼呢?這些有什麼益處?LIST_POISONING
這樣的設計有何意義?list_for_each_safe
和 list_for_each
的差異在哪?"safe" 在執行時期的影響為何?list_for_each_safe
允許在 iterate 過程中,移除 list entry,也不會影響 linked list 的連結。safe
為 node
的下一個 entry,node
被刪除,safe
仍可以繼續尋訪下一個 entry。* 提示:對照其他程式語言,如 Perl 和 Python
@
符號,這有何意義?你能否應用在後續的程式開發呢?@
為 Doxygen Special Commands。doxygen -g
產生 Doxyfile
設定檔Doxyfile
設定doxygen Doxyfile
產生文件listitem
的文件說明tests/
目錄底下的 unit test 的作用為何?就軟體工程來說的精神為何?list.h
所提供的 functions。tests/
目錄的 unit test 可如何持續精進和改善呢?Implement the recursive list_merge_sort()
function
Source 10.7 Old-Fashioned Suffix Rules
.c.o:
make
takes it to be a double-suffix rule with source suffix ‘.c’ and target suffix ‘.o’.