memb.h

来自「FreeRTOSV4.1.0 安裝文件 FreeRTOS 是一个源码公开的免费」· C头文件 代码 · 共 44 行

H
44
字号
/**
 * \addtogroup exampleapps
 * @{
 */

/**
 * \file
 * Memory block allocation routines.
 * \author Adam Dunkels <adam@sics.se>
 *
 */

#ifndef __MEMB_H__
#define __MEMB_H__

/**
 * Declare a memory block.
 *
 * \param name The name of the memory block (later used with
 * memb_init(), memb_alloc() and memb_free()).
 *
 * \param size The size of each memory chunk, in bytes.
 *
 * \param num The total number of memory chunks in the block.
 *
 */
#define MEMB(name, size, num) \
        static char memb_mem[(size + 1) * num]; \
        static struct memb_blocks name = {size, num, memb_mem}

struct memb_blocks {
  unsigned short size;
  unsigned short num;
  char *mem;
};

void  memb_init(struct memb_blocks *m);
char *memb_alloc(struct memb_blocks *m);
char  memb_ref(struct memb_blocks *m, char *ptr);
char  memb_free(struct memb_blocks *m, char *ptr);


#endif /* __MEMB_H__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?