这几天把代码从机子上的microwindows移到板子上的microwindows的时候,出现了一点问题,当程序运行到GetNextEvent等待事件的时候,按下某个键,屏幕上便打印出nxclient: bad readblock XX, errno XX,随后便打印了一大堆的nxclient 97: Wrong packet type 353 " "(expected 20)"。以前在主机上运行都没出现过这样的问题,看来从单一构架到C/S模式还是有许多的东西要考虑。
问题出来了,接下来就是考虑如果去解决了,我把对应按键下的函数都注释了,也就是把case GR_EVENT_TYPE_KEY_DOWN下对应的函数给注释了,运行还是出现错误,因此可以肯定问题不是出在后面,而是出在while(1)循环前面。
通过一一排除,我最终发现了问题出在哪里了:我把创建窗口,创建pixmap以及GrDrawImageToFit和GrSetBackgroundPixmap这些用来显示图片的函数都放在一个函数里面,而不是在main()里面,这样就会打印那些无聊的trace了,把这些代码提到main()函数里面来就把问题解决了。至于为什么是这样的,我现在还没找到原因,以后有时间再转过头来看吧。
等下去办离职手续,今天就可以走人了,呼~~,要不要考虑回家一趟呢,是个头痛的问题。