lvgl在写gif解码的回调的时候有几个非常有意思的地方,今天一整天算是栽在这儿了。在写gif的时候我注意到系统有几个系统的固定函数:
于是我便对这三个函数起了兴趣,第一个是构造函数,第二个是析构函数,第三个则是判断是否为最后一贞的函数。那么按理来说lvgl是给我门留了一手能够让gif更加灵活地显示,于是我就决定修改这一函数,结果是坏事一起来。
这里一直提示我指针的错误,无论我是在主函数修改还是在系统文件修改都提示这一句,我就在这耗了一个下午,直到我忍不住看了他的创造函数,之前不看主要是因为实在麻烦,看的头晕。
这里的malloc只申请了足够obj的空间(我自己认为的,后面知道不对),所以没有初始化当然就不能设置数字了,因此如果想要修改循环就必须要在系统里面修改。但是添加一半后发现不对劲,malloc的申请空间就是一个gif_t,那自然就是有空间留给他的。于是我就看到了这个函数
这也就是说,gif的loop初始化其实是在放置后才有的,而我在放置前就设置了,所以才一直从其,重新调整位置后就成功运行。