当前位置: 技术问答>linux和unix
今天在UBOOT发现个十分诡异的东西“reloc_get_dev”详情看补充说明。
来源: 互联网 发布时间:2016-11-15
本文导语: fsfatFat.c文件里有这样的函数: block_dev_desc_t *get_dev(char* ifname, int dev) { const struct block_drvr *drvr = block_drvr; block_dev_desc_t* (*reloc_get_dev)(int dev);//这里的reloc_get_dev找不到定义的地方 while (drvr->name) { reloc_get_dev ...
fsfatFat.c文件里有这样的函数:
block_dev_desc_t *get_dev(char* ifname, int dev)
{
const struct block_drvr *drvr = block_drvr;
block_dev_desc_t* (*reloc_get_dev)(int dev);//这里的reloc_get_dev找不到定义的地方
while (drvr->name) {
reloc_get_dev = drvr->get_dev + gd->reloc_off;
if (strncmp(ifname, drvr->name, strlen(drvr->name)) == 0)
return reloc_get_dev(dev);
drvr++;
}
return NULL;
}
以上程序上的reloc_get_dev找不到定义的地方,本人用source insight查看代码的。搜遍整个工程都没有。
block_dev_desc_t *get_dev(char* ifname, int dev)
{
const struct block_drvr *drvr = block_drvr;
block_dev_desc_t* (*reloc_get_dev)(int dev);//这里的reloc_get_dev找不到定义的地方
while (drvr->name) {
reloc_get_dev = drvr->get_dev + gd->reloc_off;
if (strncmp(ifname, drvr->name, strlen(drvr->name)) == 0)
return reloc_get_dev(dev);
drvr++;
}
return NULL;
}
以上程序上的reloc_get_dev找不到定义的地方,本人用source insight查看代码的。搜遍整个工程都没有。
|
block_dev_desc_t* (*reloc_get_dev)(int dev);//这里的reloc_get_dev找不到定义的地方
===============================================================
这里就是定义啊,变量名为reloc_get_dev的函数指针。
===============================================================
这里就是定义啊,变量名为reloc_get_dev的函数指针。
|
它是一个函数指针,实际赋值为:
reloc_get_dev = drvr->get_dev + gd->reloc_off;
个人理解。
reloc_get_dev = drvr->get_dev + gd->reloc_off;
个人理解。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。