There're bugs in almost all big system, I only hope that Microsoft could made more testing before relesing a product.
1.Bugs in STDIO.
Phenomena:Console over serial can't be used.
Reason: There's a error at line 506 or line 508 in file:
PRIVATE\WINCEOS\COREOS\CORE\CORELIBC\CRTW32\STDIO\stioinit.c.
It's a obvious error, the codes initializes g_pfnGetCommTimeouts two times, but doesn't initialize g_pfnSetCommTimeouts, so that error occurs in the next codes.
It should be a writting error I think.
2,Also in STDIO.
Phenomena: Console over Debug Port only can do output.
Reason: The code just return 0 if finding it's reading from debug port.
look at those lines.
line 96 in read.c
if ( !MyReadFile(_osfhndstr(str), buffer, cnt, (LPDWORD)&os_read,NULL) )
{
return -1;
}
line 28 at crtmisc.h
#define MyReadFile(h, buffer, cnt, pRead, x) (((h)==_CRT_DBGOUT_HANDLE) ? (*(pRead)=0, 0) : ReadFile((h), (buffer), (cnt), (pRead), (x)))
so MyReadFile always returns 0 when reading from debug port.
I'm puzzled that Microsoft never test their codes?
Also thanks Microsoft for having shared the codes, so that I can find the problem.
3.文件系统
从FTP下载一个文件时,如果该文件大于WINCE系统的对象存储空间,即分给文件系统的内存大小时,系统会显示空间不足无法保存文件,即使我们有硬盘得大容量的设备. 一个系统有BUG并不稀奇,可奇怪的是WINCE已经到了6.0版,这个BUG竟然没有测到,尽管它是一个很容易就测到的BUG
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Vichard/archive/2009/08/29/4497463.aspx