为什么我编的程序很多都有这样的警告?


为什么我编的程序很多都有这样的警告?
出现这样的警告是什么意思?能告诉我一下吗?



我也来说两句 查看全部回复

最新回复

  • yanwuxu (2008-8-31 10:42:21)

    该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用。

    出现这种警告的原因一般有两种:

    第一:这个函数是不可重入函数,当该函数运行时可能被打断,打断后该函数又被再次运行,从而造成函数内部数据丢失;

    第二:该函数的内部变量数据所占有的内存在link时被连接器认为是可覆盖的,因此在连接时进行了数据覆盖优化,但是连接器同时发现该函数在运行时被打断后,其他函数(如中断服务子程序)的运行造成了该函数的数据被覆盖。

    替楼主g了一下,另外你点击出错信息应该会跳到出错行的^_^
  • redbat_228 (2008-8-31 15:17:14)

    QUOTE:

    原帖由 yanwuxu 于 2008-8-31 10:42 发表
    该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用。

    出现这种警告的原因一般有两种:

    第一:这个函数是不可重入函数,当该函数运行 ...
    谢谢楼上了,不过点击警告并不能跳到错误处,谢谢你的解析了...

    明白了,我可能知道程序出错的原因了...
  • wangyoucao (2008-8-31 15:27:54)

    这个错误我也常出,现在终于明白了。。
  • yanwuxu (2008-9-10 14:13:34)

    要是汇编的话只要编译的时候提示哪里出错就会跳到出错行,c的这点做得不是很好