malloc-lab - 명시적 가용 리스트 explicit free list 방식 자세한 것은 이전의 [[malloc-lab 구현 - 묵시적 가용 리스트]] 참고 상수 및 매크로 선언 #define MINIMUM 16 #define PREC_FREEP(bp) (*(void **)(bp)) #define SUCC_FREEP(bp) (*(void **)(bp + WSIZE)) static char *free_listp = NULL; putFreeBlock() 새 free 블록을 free list의 처음에 추가한다(LIFO). 포인터 free_listp는 free list의 첫 주소를 가리키므로, free_listp가 가리키는 free list 안의 블록과 PRED, SUCC 링크를 진행한다. void put..
오늘의 글귀 주변 환경에 우리의 분노를 유발할 힘을 주어서는 안 된다. 왜냐하면 그것들은 우리에게 전혀 관심이 없기 때문이다. (마르쿠스 아우렐리우스, 명상록) 회고 오전 10시 출근. 6주차 과제를 본격적으로 시작한다. implicit 방식으로 malloc을 구현하기 위해, CSAPP을 읽었다. mm.c를 아예 처음부터 구현하고 싶었지만 교재 개념을 본 것만으로는 무리였다. 다행히 CSAPP 교재에서 C 코드를 다 제공해주었는데, 이건 절대 혼자서는 구현할 수 없을 것 같다. 가용리스트를 조작하기 위한 매크로함수 선언부터 mm_init(), mm_malloc(), mm_free(), mm_realloc() 외에도 구현해야 하는 함수가 4개가 더 있더라.. 그래서 그냥 코드를 긁어와서 보고 이해하기로 했..