2011년4월26일..메모리상의 프로그램의 구조(→STACK), PE구조(↔ELF), ATmega128 LED응용실습2변경

 

메모리상의 프로그램의 구조 (windows)

 

image

잘 못 되었음…스택다음이 프로그램의 크기가 아니라 운영체제가 관리하는 메모리의 한계…
Code의 시작도 origin이 아니라 운영체제를 제외한(?) 메모리의 한계…

★이 때까지 선언한 변수는 지역변수라 STACK영역에 있다.
★상기의 그림은 windows의 메모리구조이고 linux의 경우 다를 수 있음을 명심하자.
★컴파일러가 일정메모리 예약하고 끝 번지에 STACK이 시작되나 개발자가 얼마나 변수를 쓸지 모르니 아래부터 쌓는다.
★STACK, heap overflow를 막을 만한 크기는 컴파일러가 알아서 정한다. (함수가 몇 번 호출 될지 모른다.)

 

 

PE구조(↔ELF)

 image

header는 컴파일시 붙음.

(자세한 설명과 ELF도식 추가할 것)

 

 

STACK영역에 들어가는 변수에 대한 연구

 

“변수도 테트리스 블록 쌓듯이 빼곡히 잘 쌓아야 한다.” - 수만

 

 

image

 

 

 

(설명)

image        image    

(설명)

(최초 소스코드부터 시작하여 메모리에 쌓이는(지정되는) 변수도식 추가할 것)

 

 

 

LED응용실습2 변경

 

(배경이론 도식과 설명)

 

 

image 
image

(설명)

 

 

4a46b55d020016m1  이러다 월화수목금금금…OTL

<이미지 출처: 기억안남 ㅠㅠ>

 

(노트필기..이걸 이쁘게 꾸며서 올려야 하는데 어렵네)

DSCN2368 DSCN2369 DSCN2370 DSCN2371 DSCN2372