各位大侠,我基于Qtopia 4.3.0编写了一套媒体播放器的应用程序,在应用程序中,调用了媒体库中间件。媒体库中间件是用C语言编写的。程序开发时,媒体库中间件通过回调函数的方式通知APP层各类消息。APP注册给中间件的回调函数是在媒体库中间件中执行的,函数内是通过给APP发送信号的方式来让APP意识媒体库中间件的各类事件的。
交叉编译后,生成的可执行程序可以正常在ARM开发板上执行。但是,将编写的媒体播放器应用程序添加到qpe框架后,通过QPE Phone版的主菜单来加载我们自己的媒体播放器应用程序,则程序无法执行,经定位后发现,在媒体库中调用应用程序提供的回调函数,该回调函数中,通过一个全局类指针访问了一个全局量,该指针指向的内存值变为0了,不是应用程序中对全局量的赋值。
如上,请问,在回调函数中通过指针访问的应用程序的全局量为什么变成0了呢?为何不用QPE的九宫格菜单,而直接起我们的程序就没问题;而通过QPE的九宫格菜单来加载我们的应用程序就有问题呢?另外,qpe框架是如何加载及管理框架下的各个应用程序的呢?
急问,谢谢~~~