完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我之前也在这个软件包遇到了几个问题在这里分享一下我是怎么找到问题的吧
是没对齐的问题,这里我打了一个补丁https://github.com/jiejieTop/mqttclient/pull/63,但是作者没合,你可以参考一下 如果订阅的信息不是直接写死的,比如name是malloc出来零时赋值的,传给mqtt后又被free了,这时也会出现一些问题,因为这个软件包只保存了那个临时指针,并没有保存真实的数据,修复方式类似于这样,以topic为例,其他的像name一样的类推: static message_handlers_t *mqtt_msg_handler_create(const char *topic_filter, mqtt_qos_t qos, message_handler_t handler) { message_handlers_t *msg_handler = NULL; msg_handler = (message_handlers_t *)platform_memory_alloc(sizeof(message_handlers_t)); if (NULL == msg_handler) return NULL; mqtt_list_init(&msg_handler->list); msg_handler->qos = qos; msg_handler->handler = handler; /* register callback handler */ msg_handler->topic_filter = rt_malloc(rt_strlen(topic_filter) + 1); rt_strncpy(msg_handler->topic_filter, topic_filter, rt_strlen(topic_filter) + 1); return msg_handler; } 记得在释放的时候也销毁掉 static void mqtt_msg_handler_destory(message_handlers_t *msg_handler) { if (NULL != &msg_handler->list) { mqtt_list_del(&msg_handler->list); platform_memory_free(msg_handler->topic_filter); platform_memory_free(msg_handler); } } |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1411 浏览 0 评论
4335 浏览 0 评论
图腾柱PFC无法上升至400V,且电感电流为正弦波形,但是幅值极小
9603 浏览 0 评论
飞凌嵌入式ElfBoard-Vim编辑器之静态链接和动态链接
2932 浏览 0 评论
使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板
2343 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 09:21 , Processed in 1.138726 second(s), Total 76, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1567