Friday, April 18, 2008

Memory, free

free()를 사용한다. 알다시피, Linux에서 이미 할당된 메모리공간의 일부만을 free할 수는 없다(애초에 나눠서 할당하는 수밖에는). SunOS같은 경우는 cfree()같은 것을 제공하지만, linux에서는 이게 free와 같이 동작하므로(기대치 않은 동작을 발생시키는 경우가 있으니) 사용하지 않는 게 낫다.

메모리 free할 때 조심해야하는 게 memory leak 이다. 이를 위해 제공되는 툴이 electric fence와 잘 알고 있는 valgrind 이다. (전자는 이름 그대로 '전기 울타리' 라서 구글링하기 상당히 불편하다 ㅡ.ㅡ;)

No comments:

Post a Comment