typedef struct vlib_main_t
vlib_main_t;
//註冊節點,呼叫的是巨集定義
vlib_register_node (abf_ip6_node) =
};//…
,__va_args__
為可變引數,
##連線字串
//__attribute__((__constructor__))
修飾函式
main
函式之前執行
// __attribute__((__destructor__))
修飾函式在
main
函式結束之後執行
#define vlib_register_node(x,...) \
__va_args__ vlib_node_registration_t x; \
static void __vlib_add_node_registration_##x (void) \
__attribute__((__constructor__)) ; \
static void __vlib_add_node_registration_##x (void) \
\static void __vlib_rm_node_registration_##x (void) \
__attribute__((__destructor__)) ; \
static void __vlib_rm_node_registration_##x (void) \
\__va_args__ vlib_node_registration_t x
//定義
//構造
init
函式列表
#define vlib_init_function(x) vlib_declare_init_function(x,init)
#define vlib_worker_init_function(x) vlib_declare_init_function(x,worker_init)
#define vlib_main_loop_enter_function(x) \
vlib_declare_init_function(x,main_loop_enter)
#define vlib_main_loop_exit_function(x) \
vlib_declare_init_function(x,main_loop_exit)
#define vlib_api_init_function(x) vlib_declare_init_function(x,api_init)
#define vlib_config_function(x,n,...)
啟動呼叫vlib_call_all_init_functions函式載入執行。
typedef struct
vlib_node_main_t;
typedef struct _vlib_node_registration
vlib_node_registration_t;
typedef uword (vlib_node_function_t) (struct vlib_main_t * vm,
struct vlib_node_runtime_t * node,
struct vlib_frame_t * frame);
vlib_main_or_worker_loop函式中迴圈處理node排程
Foundation框架中的常用「結構體「
foundation框架作為乙個最基礎的框架,是其他所有ios框架的基礎。而在foundation框架中,結構體運用的很多。下面我就結構體做乙個簡單的介紹 常用的有以下幾種 1 nsrange 1 定義 nsrange是乙個用來表示範圍的結構體,它在foundation裡面實質上是這麼定義的 typ...
sizeof 結構體 的分析
一 為什麼結構體計算這麼亂?答案是位元組對齊,計算機儲存系統中以byte為單位儲存資料,不同資料型別所佔的空間不同,如 整型 int 資料佔4個位元組,字元型 char 資料佔乙個字 節,4整除的起始位置,字元型資料 char 可以存放在任何位址位置 被1整除 短整型 short 資料儲存在位址能被...
Foundation框架 結構體
foundation框架 結構體 一 基本知識 foundation 基礎框架。框架中包含了很多開發中常用的資料型別,如結構體,列舉,類等,是其他ios框架的基礎。如果要想使用foundation框架中的資料型別,那麼包含它的主標頭檔案就可以了。即 import 補充 core foundation...