비초기화 데이터 영역(Uninitialized data segment)
bbs라고도 불리며 buf와 같이 함수밖에 존재하는 초기값을 갖지 않는 변수들이 이 영역에 존재하게 된다. 참고로 이 비초기화 데이터 영역에 할당된 변수들은 프로세스 생성시에 모두 0으로 초기화된다.
말 그대로 전역변수이네요..
int count = 26 <- 초기화된 테이터영역
char buf[10]; <- 비초기화 데이터 영역
int main()
{
buf[count]='\0';
}
초기값 없는 전역변수... (0이라도 강제 지정되는 값이라면 bss에 안
초기값 없는 전역변수... (0이라도 강제 지정되는 값이라면 bss에 안들어감)
동적 메모리 할당
Written By the Black Knight of Destruction
제 기억엔 :roll:0으로 초기화되는 전역변수도 .bss 섹션에 들
제 기억엔 :roll:
0으로 초기화되는 전역변수도 .bss 섹션에 들어갔던 것 같네요.
그리고, 동적 메모리 할당은 heap에서 이루어지니까,
.bss 섹션에 들어가지 않을 것 같은데요.
비초기화 데이터 영역
비초기화 데이터 영역(Uninitialized data segment)
bbs라고도 불리며 buf와 같이 함수밖에 존재하는 초기값을 갖지 않는 변수들이 이 영역에 존재하게 된다. 참고로 이 비초기화 데이터 영역에 할당된 변수들은 프로세스 생성시에 모두 0으로 초기화된다.
말 그대로 전역변수이네요..
실력이 있으면 삶이 편하다... 영차 영차...
Re: .bss 영역의 용도
다른 용도의 쓰임은 거의 없습니다.
단지, 생성되는 Object에서 실제 runtime시 원하는 양만큼 잡아먹지 않는 다는 것만 알면됩니다. 실제로 이름과 사이즈만 기억해둡니다.
---
http://coolengineer.com
댓글 달기