// // Created by 李晓明 on 2023/6/14. // #include "chunk.h" #include "memory.h" #include void initChunk(Chunk *chunk) { chunk->count = 0; chunk->capacity = 0; chunk->code = NULL; } void freeChunk(Chunk *chunk) { FREE_ARRAY(uint8_t, chunk->code, chunk->capacity); initChunk(chunk); } void writeChunk(Chunk *chunk, uint8_t byte) { // 容量不够 if (chunk->capacity < chunk->count + 1) { int oldCapacity = chunk->capacity; chunk->capacity = GROW_CAPACITY(oldCapacity); chunk->code = GROW_ARRAY(uint8_t, chunk->code, oldCapacity, chunk->capacity); } // 赋值 chunk->code[chunk->count] = byte; chunk->count++; }