咳,长夜漫漫,无心睡眠,在这反思这几个月自己都做了些什么……
今天终于把WLAN GUI发现的Bug都解了,还有没有Bug,谁也不知道,正如安全与破解的关系(有安全就会有破解。这样就不断推动计算机安全技术向前发展,当然破解技术也在发展哦)。有Bug就要解Bug,这样系统就会不断完善(呵呵,也有可能将系统变得越来越烂哦,所以Bug不能乱解)
想想这段时间,从很难看懂C code到能够修修补补、删删改改;从拿到那些code不知从何“吃”起,到大体能找到“下口”的地方,这几个月的我似乎有所成长。这几周,都在忙WLAN的GUI——初步做出GUI、解GUI的一些Bug。学到了不少东西,也积累了一些经验。将ASCIIExtended换成ASCII所引起的问题、一个正常的函数调用返回奇怪的值等等这是以前在所遇不到的。更重要的是——学到了一些解决问题的方法[刚来的时候,遇到问题,很茫然,也许这就是传说中的经验吧!]。很感谢“老人们”的帮助。
不过好像很久没看书、文档了,书可是个好东西,可以在精神上富裕自己[难怪成了“月光族”,原来好久没看书了]。书、文档和Code如果能很好的结合起来,也许会成长的更好一点。Thinking……
-----------------------------------------------------------------------
PS:“无语的教训”
/*大概如下*/
file a.h
#########
typedef struct a{
int num;
char name[32];
char addr[32];/*和file b.h 中struct a 不一样哦*/
int sex;
……
} ;
############
file a.c
###########
#include a.h
struct a men;
int copyAToB(struct a *val){
……
copy(val,&men);/*copy 将men内容拷到val*/
……
}
##########
file b.h
typedef struct a{
int num;
char name[32];
int sex;
……
} ;
########
file b.c
#include b.h
extern int copyAToB(struct a *val);
int getData(){
……
int ret=0;
struct a val;
ret=copyAToB(&val);
……
}
/*以上code只是用于说明问题*/
有可能导致在file b中,经过copyAToB后,val的值并不是你所期待的,甚至会有乱七八糟的值出现,也许你会习惯的认为是不是函数没将值带回。其实真正的原因在于——file a.h、file b.h都定义了struct a,可是这两个struct a 的成员是不一样的,当编译器编译a.c时会将val按照a.h中定义的struct a来编译,而在b.c中的val将被按照b.h中定义的struct a来编译。