中秋节,函数指针数组的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 00:56:10
在用ADS1.2做ARM7开发的时候我遇到了一个函数指针数组的问题
程序编译的时候还好,就是下载后到某个位置老死机
仿真发现有条语句过不去,如下:
typedef char (*FunctionPtr)();
FunctionPtr CheckFun[114]={ //函数指针数组初始化
Check_1,
Check_2,
Check_3,
Check_4,
Check_5,
......//省略
};

char Check_1(void)
{//省略}
char Check_2(void)
{//省略}
char Check_3(void)
{//省略}
char Check_4(void)
{//省略}
char Check_5(void)
{//省略}
......

//在主程序中我做如下调用

main()
{
......//省略
int CheckFunPtr=0;//偏移
......//省略

if((*(CheckFun+CheckFunPtr))()==1)//我通过仿真器走单步调到这里就死机
{return 1;}
......//省略

}

PS:今天刚好中秋,我一个人出差外地,还在干活!呜呜~~~~
祝看我贴的各位兄弟姐妹节日快乐啦!多吃点饼子巴巴!

是啊。
F8进去看看啊。
如果连F8step in都出错,看下变量值和数组指针是不是被冲了。
如果还没看出来,看汇编了。

既然能单步为什么不看看跳转的目标地址是什么?