이글루스 | 로그인  


메모리

http://kin.naver.com/db/detail.php?d1id=1&dir_id=10104&eid=0/hFGPVgPxP+/UZkDAaaEZrXxC0woMQq&qb=uN648Liuv7W/qiC9usXD


프로그램에서 메모리를 구분하는 방법은 컴파일러 제조사에 따라 조금씩 다르지만 대략 다음과 같이 4 종류의 세그먼트들로 나눕니다.

 

1. Code Segment :

    프로그램 코드가 들어 있는 부분.

 

2. Data Segment

    전역 변수와 static 변수들이 저장되어 있는 부분

 

3. Stack Segment

    로칼 변수들이 저장되어 있는 부분

 

4. Heap Segment

    free space로서 dynamic allocation 으로 메모리를 사용할수 있다.

 

스택 세그먼트는 함수나 프로시듀어에서 선언한 변수들-로컬변수-들을 저장하는 공간으로 함수가 시작되면 변수들이  스택 구조형태로 차곡 차곡 메모리에 할당되어 사용되다가 함수가 종료되면 메모리 할당이 자동으로 해제되는 변수을 저장하는 공간 입니다. 스택 형태의 자료구조로 메모리를 할당하면 위 메카니즘을 손쉽게 구현 할수 있어서 스택형태로 자료구조를 만들었기 때문에 스택 세그먼트라 부릅니다.

 

Heap은 메모리 자유영역입니다. 코드영역 할당하고 다른 세그먼트들을 할당하고 남은 나머지 부분이지요. 이 영역은 calloc, malloc, new 와 같은 명령으로 실행중 동적으로 메모리를 불러다 쓸 수있는 공간이 됩니다.

by 조조조 | 2007/11/22 00:23 | c/c++ | 트랙백 | 덧글(0)

트랙백 주소 : http://chozo99.egloos.com/tb/1028581
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶