导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:函数调用

* 12125: C51编程:函数调用

   hcdg 
hcdg发表的帖子 

 C51编程:函数调用
有这样一段程序:
void func1()
{
    ...
    if(...)
    {
        func2();
        func3();
    }
    ...
}
用的Keil C51编译器。
在执行时发现有时执行完func2()后,没有执行func3(),而是不可预知的跑道别的地方去
啦。对程序复位后,执行仍出现以上现象。
如果重新编译,则可以正确执行。
我认为原因可能有两个:
1、在调用func2()时,堆栈的空间不够用,这导致func2()执行完成后不知道返回到什么地
址啦。有个疑问是:有时调用func2()可以返回继续执行func3(),这样说明堆栈在调用
func2()时时够用的。
2、在用Keil C51编译代码时,每次生成的执行文件不一样。有没有这种可能我就不得而知
啦。

本来想用仿真器找找问题所在,不过实在是一头雾水,不知从何下手。


发表时间:2002年10月10日16:10:00

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:为什么有啸叫声谢谢pan-x的回答,我已经试过了,可是啸叫声仍然有时发生,请各位帮帮忙。谢谢!
[下一篇帖子]:初学者:0809  and mcs510809 and&nb