Wednesday, April 30, 2008

Memory Allocation Mechanism

메모리를 할당하는 여러가지 방법들이 있는데, 각각의 장단점을 생각해보자.
  • malloc 일반적인데, 초기화 안된다.
  • calloc 0으로 초기화 되나 malloc보단 조금 복잡하다
  • realloc resize
  • brk, sbrk 아주,.. low level 하다.
  • Anonymous Memory Mappings 큰 공간 할당시 유용하고, 쉽고, 공유가능하다. 작은 공간 사용시에는 낭비가 있다(페이지 단위로 할당하니까... 맞나 ㅡ.ㅡ;).
  • posix_memalign align이 중요할때만 사용...
  • alloca 스택에서 할당. 편리. 해제할 필요없음. 큰 공간할당에는 부적절. 안되는 시스템도 있고..
  • VLA scope 내에서 할당 가능. 배열인 경우만 유용.

No comments:

Post a Comment