主题最新回顾(发布时间:2004-6-10 10:41:00) |
---|
-- 作者:zjz(0.0.*.*)
-- 谢谢 |
主题最新回顾(发布时间:2004-6-10 8:24:00) |
---|
-- 作者:x10(0.0.*.*)
-- 在C中,无论是局部变量数组还是对指针的动态分配,都需要指定具体的大小。 |
主题最新回顾(发布时间:2004-6-10 7:15:00) |
---|
-- 作者:tanzf(0.0.*.*)
-- 无语了。。。 |
主题最新回顾(发布时间:2004-6-9 19:14:00) |
---|
-- 作者:zhl(0.0.*.*)
-- 肯定不行,str指针都没有分配,怎么能用strlen(str)。动态分配空间可以用malloc或 new,但需注意的是,在buf使用完后须用free 或delete释放空间。 |
主题最新回顾(发布时间:2004-6-9 18:26:00) |
---|
-- 作者:zjz(0.0.*.*)
-- int func( ) {    int   i1;    char* str;    str=(char*)malloc(strlen(str));    ....    i1 = 100;    sprintf( str, "value=%d\n", i1 );    ....    return 0; } 改成这样可以吗? |
主题最新回顾(发布时间:2004-6-9 18:21:00) |
---|
-- 作者:zjz(0.0.*.*)
-- 已收到谢谢!! |
主题最新回顾(发布时间:2004-6-8 17:19:00) |
---|
-- 作者:x10(0.0.*.*)
-- 已看了你的代码,是典型的指针操作问题导致系统crush。给你回的email中具体说明了bug所在。请检查你的邮箱,谢谢! 在C语言的函数中,定义的局部变量在放在堆栈之中的,如果局部变量是指针,堆栈中的随机数就变成了该指针所指向的地址,它可以是任意地址,包括系统区域,一旦对该指针进行写操作,系统将被破坏,最后导致系统崩溃。典型的bug: int func( ) {    int   i1;    char* str;    ....    i1 = 100;    sprintf( str, "value=%d\n", i1 );    ....    return 0; } 正确的 int func( ) {    int   i1;    char  str[20];    ....    i1 = 100;    sprintf( str, "value=%d\n", i1 );    ....    return 0; } |
主题最新回顾(发布时间:2004-6-8 14:59:00) |
---|
-- 作者:zjz(0.0.*.*)
-- 经常出现以下的错误:"Invalid media type writing drive A?" "erro download" |
主题最新回顾(发布时间:2004-6-8 14:55:00) |
---|
-- 作者:zjz(0.0.*.*)
-- 我利用TDRF D 命令查看时,已经看不到任何别的文件了,换了个板子,问题依旧!!! |
主题最新回顾(发布时间:2004-6-8 11:48:00) |
---|
-- 作者:leeleen(0.0.*.*)
-- FLASH没有损坏,估计您在开发过程中向FLASH下载了一些文件,有些是可以删除的,您可以用TDRF命令将那些不要的文件删除,将空间释放出来。 :) |