agrego practicas
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define ARENA_MEMORY_ALIGN 8
|
||||
|
||||
typedef struct Chunk{
|
||||
size_t size;
|
||||
size_t offset;
|
||||
unsigned char *buffer;
|
||||
struct Chunk *next;
|
||||
}Chunk;
|
||||
|
||||
typedef struct{
|
||||
Chunk *current;
|
||||
Chunk *first;
|
||||
}Arena;
|
||||
|
||||
Arena arena_create(size_t);
|
||||
void* arena_alloc(Arena*, size_t);
|
||||
void arena_free(Arena*);
|
||||
void arena_print(Arena*);
|
||||
|
||||
Chunk* arena_chunk_create(size_t);
|
||||
void arena_chunk_free(Chunk*);
|
||||
void* arena_chunk_alloc(Arena*, Chunk*, size_t);
|
||||
|
||||
char* arena_strdup(Arena*, const char*);
|
||||
Reference in New Issue
Block a user