在函数开始处,用一个无符号指针记录下函数的入口地址,然后正常执行函数,在函数末尾判断指针是否等于函数入口地址,如果不相等,则说明程序不是正常进入函数的,应进行相应的出错处理。具体代码如下:
void check_input(void)
{
void * funtion_entry;
//函数地址赋给函数入口指针
funtion_entry = check_input;
//正常执行函数
{
}
//判断函数入口指针是否等于函数地址
if(funtion_entry!=check_input)
{
while(1);
}
} |