vpp框架中的結構體分析

2021-10-01 10:26:41 字數 1916 閱讀 7883

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...