关于main函数中定义局部数组后,调用strcpy的问题
本帖最后由 电子学习员 于 2013-4-1 22:40 编辑今天调试门控器系统,在main函数中定义了一个20字节大小的数组,然后调用了strcpy,复制了一个字符串给这个数组。系统运行后,测试障碍物探测功能,好像门控器失控了,并且门控器还复位。我把数组定义成全局的就没事了,定义成局部的,测试几次就会出现失控问题。怎么去理解这个问题呢?各位高手怎么看?
char version;
strcopy(version, "VER");/*VER是软件版本号*/ 没人过来看看呀 拿分 走人 不好意思, 点了举报。
看到这中无厘头的标题就特不爽。
{:dizzy:} 不能再main中定义,要在
main()
{
int a
}
要改为
int a
main()
{
}
曾经因为这样出过问题,忘记是在stm8 还是在stc编程的时候 Vmao 发表于 2013-4-1 21:36 static/image/common/back.gif
不能再main中定义,要在
main()
{
你还是没有讲到实质。。。不过谢谢 wangguanfu 发表于 2013-4-1 21:01 static/image/common/back.gif
拿分 走人
您是什么意思。。。 kanprin 发表于 2013-4-1 21:31 static/image/common/back.gif
不好意思, 点了举报。
看到这中无厘头的标题就特不爽。
题目很无厘头吗? 等高手来 生成的汇编你跟踪下就清楚了,你用什么mcu 本帖最后由 kebaojun305 于 2013-4-1 21:53 编辑
电子学习员 发表于 2013-4-1 21:48 static/image/common/back.gif
题目很无厘头吗?
标题太简单的 不能说明帖子的主要内容 小心封ID你发帖子时没有看到红色的字吗 看看论坛规则http://www.amobbs.com/thread-5511230-1-1.html 算了,告诉你吧, 不过你还是把标题改个明确些的。
用局部数组,使用的是栈空间,其它函数的调用会跟你这个数组公用内存空间。
所以,如果使用局部数据,需要使用memcpy,而不是strcpy
而使用全局数组时,这个数据组就由你的程序显式调用,系统不会跟你抢。
所以你用strcpy就不会有问题。
RE:关于main函数定义局部数组后,调用strcpy的问题
kanprin 发表于 2013-4-1 22:34 static/image/common/back.gif算了,告诉你吧, 不过你还是把标题改个明确些的。
用局部数组,使用的是栈空间,其它函数的调用会跟你这 ...
实在抱歉,我第一次发帖,不知道咱们这儿规则,以后改, kanprin 发表于 2013-4-1 22:34 static/image/common/back.gif
算了,告诉你吧, 不过你还是把标题改个明确些的。
用局部数组,使用的是栈空间,其它函数的调用会跟你这 ...
我这个是裸机程序,没有什么操作系统,没怎么明白您说的 没见过strcopy这个函数。 littlemouse11 发表于 2013-4-1 23:24 static/image/common/back.gif
没见过strcopy这个函数。
抱歉,打错了。。。 kanprin 发表于 2013-4-1 22:34 static/image/common/back.gif
算了,告诉你吧, 不过你还是把标题改个明确些的。
用局部数组,使用的是栈空间,其它函数的调用会跟你这 ...
????? 这个函数简单,自己写效率还高些,不就是一个循环,然后搬移 yuyu87 发表于 2013-4-2 09:19 static/image/common/back.gif
这个函数简单,自己写效率还高些,不就是一个循环,然后搬移
我知道这个函数怎么写,现在的情况是什么会出现问题
页:
[1]