代碼中weak, alias

weak弱符號 alias當弱符號沒有其它定義時使用指定函數 如下是u-boot的例子函數

static int __def_eth_init(bd_t *bis)  
{  
	return -1;  
}  
int cpu_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));  
int board_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));

u-boot中容許根據硬件自定義cpu級和板級的net初始化函數,當不須要定製時,能夠不定義,以默認函數代替。 上面的代碼將cpu_eth_init和board_eth_init符號弱化(weak),若是沒有定義這兩個函數,就直接用__def_eth_init替代(alias)code

相關文章
相關標籤/搜索