【请教】void* malloc(size_t) 无法赋值

2019-08-13 20:32发布

本帖最后由 Jochen 于 2017-10-11 09:37 编辑

TIM截图20171011090922.png
[mw_shl_code=c,true]int Mqtt_InitContext(struct MqttContext *ctx, uint32_t buf_size)
{
    memset(ctx, 0, sizeof(*ctx));


    ctx->bgn = (char*)malloc(buf_size);
    if(NULL == ctx->bgn) {
        return MQTTERR_OUTOFMEMORY;
    }

    ctx->end = ctx->bgn + buf_size;
    ctx->pos = ctx->bgn;

    return MQTTERR_NOERROR;
}[/mw_shl_code]

刚开始学习stm32不久,在网上找了一份onenet的mqtt代码,打算试一试。
把代码修改到自己的工程里后,connect pack一直失败。
调试的时候发现这一句[mw_shl_code=c,true]ctx->bgn = (char*)malloc(buf_size);[/mw_shl_code]
没有成功,buf_size给的1000,调试时也是有值的,但是运行完这一句ctx->bgn还是0x00000000
对比调试了下载的那份未修改的代码,他运行完ctx->bgn是有值的,自己没有头绪了,请论坛大佬指点迷津

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。