大家好,
C文件里定义了一个
typedef void (*start_fn_t)(const sysparam_t *param);
另外,结构体的定义:
typedef struct {
const char * bootver;
uint32_t master_addr;
uint32_t config_addr;
const rsa_pub_key_t * key;
}sysparam_t;
extern const sysparam_t * sysparam;
最后,在一个函数里这样调用了一下
((start_fn_t)(*(uint32_t *) (sysparam->master_addr + 4)))(sysparam);
这句话是函数的最后一句话,这句话看不懂啊。。貌似就是把一个地址强转成一个函数,然后带了个自己的参数,可是没有函数体啊。。函数使用typedef来定义的 |