OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4017|回复: 0

LWIP的一个C语言问题

[复制链接]

14

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2014-7-23
在线时间
1 小时
发表于 2014-12-9 10:23:40 | 显示全部楼层 |阅读模式
可能是我C语言一般,没有看懂LWIP这个定义,应该是没仔细进去看,问了一个问题
----------------------------------------------------------------------------------------------------------------
//得到memp_memory数组大小
u32_t memp_get_memorysize(void)
{
u32_t length=0;
length=(
MEM_ALIGNMENT-1 //全局型数组 为所有POOL分配的内存空间
#define LWIP_MEMPOOL(name,num,size,desc)+((num)*(MEMP_SIZE+MEMP_ALIGN_SIZE(size)))//MEMP_SIZE表示需要在每个POOL头部预留的空间  MEMP_SIZE = 0
#include "lwip/memp_std.h"
);
return length;
}

这里length赋值的时候怎么还定义了一个宏LWIP_MEMPOOL,而且还有一个头文件memp_std.h,length大小这是多少啊,迷茫了
--------------------------------------------------------------------------------------------------------------------

答案是



内存对齐就不说了,4字节,不对齐各种hardfault,最重要的是进去看#include "lwip/memp_std.h",相当于定义了三个宏,后面定了很多大小,最终代表length的大小
这样的定义大小我还是第一次见到!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 18:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表