lwip编译选项

和内存管理以及TCP发送性能相关的选项

// 为1时使用系统库malloc/free进行内存管理
#ifndef MEM_LIBC_MALLOC
#define MEM_LIBC_MALLOC 0
#endif
lwip编译选项
// 使用mem_malloc/mem_free替代pool内存池管理
// lwip支持使用内存池来管理一些需要经常分配/释放的数据结构
// 例如pcb
// 将下面选项置1禁用该特性
// 一般和MEM_LIBC_MALLOC选项一道使用
// 使得所有内存分配都通过系统库进行
#ifndef MEMP_MEM_MALLOC
#define MEMP_MEM_MALLOC 0
#endif
lwip编译选项
// 使用内存池而不是malloc来分配一般性内存
// 此选项需要和MEMP_USE_CUSTOM_POOLS一起使用
#ifndef MEM_USE_POOLS
#define MEM_USE_POOLS 0
#endif
// 用于PBUF_ROM和PBUF_REF的pbuf结构数量
// 如果程序主要使用零拷贝方式发送大量数据
// 需要较大数量的该结构
#ifndef MEMP_NUM_PBUF
#define MEMP_NUM_PBUF 16
#endif
// PBUF内存池(PBUF_POOL类型的PBUF)中的PBUF数量
#ifndef PBUF_POOL_SIZE
#define PBUF_POOL_SIZE 16
#endif
lwip编译选项
// TCP发送缓冲区大小
// 只是设定大小,并不实际分配内存
// 如果你的程序需要发送大量零拷贝数据
// 可以将这个值设大一些
#ifndef TCP_SND_BUF
#define TCP_SND_BUF (2 * TCP_MSS)
#endif
lwip编译选项
lwip编译选项
// MEM_SIZE是一般意义上的动态内存大小
// 如果程序需要进行较大量的拷贝数据发送
// 则需要较大数量的该内存
// 因为所有的拷贝发送数据都需要复制到
// 这种“一般意义”的动态内存中
// PBUF_RAM类型的PBUF即从中分配
#ifndef MEM_SIZE #define MEM_SIZE 1600 #endif
lwip编译选项
//  PBUF内存池中的每个PBUF大小
// 默认值是能放下一个完整的TCP包(包括下层协议头)
#ifndef PBUF_POOL_BUFSIZE
#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
#endif

lwip编译选项

上一篇:Photoshop将美女图片打造唯美的梦幻古典紫红色特效


下一篇:Photoshop打造非常华丽的2014马年立体花纹圆盘