在IAP的bootloader中常常运用到地址跳转,指定程序跳转到某一地址运转,例如强制跳转到0x2c去履行,则可运用(*((void (*)(void))0x2c)))();
实际上这是运用的函数指针,能够这样分化:
1,函数指针的界说为 void (* fd) (void); 省掉参数的函数原型为
2, 0x2c, 这儿的0x2c为地址,能够认为是变量(个人了解),能够了解为将变量0x2c进行强制类型转化,转化成函数指针类型,即( void(*)(void) )0x2c.
3,调用函数。 (* (func) ) (); func 为函数指针(void(*)(void) )0x2c, 合起来便是 (* ( (void(*)(void) )0x2c) )();