大家有没有碰到使用bios的奇怪栈溢出问题
我声明了一个结构体,里面有个字符串"st",这个程序在stm32的编译器用没有问题,在ccs里面运行就会出现堆栈溢出问题,把字符串"st"改为 "settime"就正常了
感觉很诡异
我声明了一个结构体,里面有个字符串"st",这个程序在stm32的编译器用没有问题,在ccs里面运行就会出现堆栈溢出问题,把字符串"st"改为 "settime"就正常了
感觉很诡异
结构体如下
typedef struct {
char *CmdString; //命令文本内容
void (*CmdOperate)(char* CmdContent);//命令执行的功能操作
} SCPCMD_Struct;
char *CmdString; //命令文本内容
void (*CmdOperate)(char* CmdContent);//命令执行的功能操作
} SCPCMD_Struct;
SCPCMD_Struct Cmdtrix[]=
{
{"-",menu_CallBack},
{"?",menu_CallBack},
{"-?",menu_CallBack},
{"/?",menu_CallBack},
{"help",menu_CallBack},
{"-help",menu_CallBack},
{"info",info_CallBack},
{"st",settime_CallBack},
{"rt",ReadTime_CallBack}
};
{
{"-",menu_CallBack},
{"?",menu_CallBack},
{"-?",menu_CallBack},
{"/?",menu_CallBack},
{"help",menu_CallBack},
{"-help",menu_CallBack},
{"info",info_CallBack},
{"st",settime_CallBack},
{"rt",ReadTime_CallBack}
};
这个在其他的编译器都用过没有问题的
keil iar 都可以
keil iar 都可以