初级会员
- 积分
- 102
- 金钱
- 102
- 注册时间
- 2014-7-23
- 在线时间
- 1 小时
|
可能是我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的大小
这样的定义大小我还是第一次见到!
|
|