container_of宏通常用于在一個結構體中包含另一個結構體,并且需要根據內部結構體的指針來獲取外部結構體的指針。這在編寫內核代碼或者底層驅動程序時經常會用到。
例如,在 Linux 內核中,經常會使用container_of宏來通過一個結構體成員的指針獲取整個結構體的指針。這樣可以方便地在內核中進行數據結構的訪問和處理。另外,在一些基于 C 語言的庫或框架中也可以看到container_of宏的使用。
總的來說,container_of宏的使用場景是在需要通過一個結構體成員的指針來獲取整個結構體的指針時,可以使用這個宏。