2011년4월26일..메모리상의 프로그램의 구조(→STACK), PE구조(↔ELF), ATmega128 LED응용실습2변경
메모리상의 프로그램의 구조 (windows) |
잘 못 되었음…스택다음이 프로그램의 크기가 아니라 운영체제가 관리하는 메모리의 한계…
Code의 시작도 origin이 아니라 운영체제를 제외한(?) 메모리의 한계…
★이 때까지 선언한 변수는 지역변수라 STACK영역에 있다.
★상기의 그림은 windows의 메모리구조이고 linux의 경우 다를 수 있음을 명심하자.
★컴파일러가 일정메모리 예약하고 끝 번지에 STACK이 시작되나 개발자가 얼마나 변수를 쓸지 모르니 아래부터 쌓는다.
★STACK, heap overflow를 막을 만한 크기는 컴파일러가 알아서 정한다. (함수가 몇 번 호출 될지 모른다.)
PE구조(↔ELF) |
header는 컴파일시 붙음.
(자세한 설명과 ELF도식 추가할 것)
STACK영역에 들어가는 변수에 대한 연구 |
“변수도 테트리스 블록 쌓듯이 빼곡히 잘 쌓아야 한다.” - 수만
(설명)
(설명)
(최초 소스코드부터 시작하여 메모리에 쌓이는(지정되는) 변수도식 추가할 것)
LED응용실습2 변경 |
(배경이론 도식과 설명)
(설명)
<이미지 출처: 기억안남 ㅠㅠ>
(노트필기..이걸 이쁘게 꾸며서 올려야 하는데 어렵네)