이번 주차의 디버깅 주제가 거의 메모리 관련해서 발생하다보니 메모리 관련 공부를 많이 했던 느낌이다.
메모리 구조
스택 프레임
그리고 오늘의 LIFETIME 발표까지 거의 메모리 관련된 내용으로 구성되었던 것 같다.
C언어가 저수준 언어다 보니 메모리 관리가 조금 더 빡센 느낌이다.
특히 malloc 이후 free해줘서 메모리 누수를 막는 것 또한 중요한데, 컴파일이나 런타임에서 잡아주지 않고 방치되기 때문에 파악하기 어려운 점은 조금 난해한 것 같다.
이런 strdup함수는 내부적으로 malloc을 호출하는데, 이런 함수의 구조를 모르는 개발자 입장에서는free해주어야 한다는 사실을 알기 정말 어렵다. 함수 하나하나의 사용에 주의해야 한다는 생각이 들게 되었다.
이번 주차는 명절이 껴있어서 긴데 짧은 느낌이었다. 생각보다 문제는 쉬웠는데, 깊게 파고자 하면 끝도 없이 들어갔던 것 같다. 앞으로는 적당히 파보는걸로.
+다음 주차 malloc lab이 조금 두렵긴 하다.