게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

memory allocation에서 이해할수 없는 문제..

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2005)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
김우재
손님





올리기올려짐: 2005년10월19일 21:06    주제: memory allocation에서 이해할수 없는 문제.. 인용과 함께 답변

주어진 틀에 보면

let in end가 이미 구현되어 있습니다.

여기서 새로 정하는 변수는 크기 1을 가지는 메모리를 할당받게 되는데요....

이 변수에 레코드를 넣어주면 (전 레코드타입을 id*loc.t*id*loc.t로 구현했습니다.)

할당된 이상으로 메모리를 쓰기 때문에, 그 뒤에 다른 변수 사용시 덮어씌어지는

현상이 일어날 것도 같은데요... 아무 이상없이 잘 됩니다..

도대체 메모리 allocation에서 사이즈가 어떤 크기 인지 궁금합니다.^^


--가령

let
x := {i := 1, j := 2}
in
let
y := 0
in
y := malloc(50);
(y) := 5;
write x.i;
write x.j;
write *y
end
end

를 했을때 x에 1의 크기만 할당되므로 레코드를 넣을때 뒤부분 필드들은 할당되

지 않은 공간에 씌여지고 나중에 y에 덮어씌어 질줄 알았는데... 그렇지 않고

아무 문제 없었다는...... 이유를 알고 싶습니다.








end
위로
손님






올리기올려짐: 2005년10월19일 21:23    주제: Re: memory allocation에서 이해할수 없는 문제.. 인용과 함께 답변

김우재 씀:
주어진 틀에 보면

let in end가 이미 구현되어 있습니다.

여기서 새로 정하는 변수는 크기 1을 가지는 메모리를 할당받게 되는데요....

이 변수에 레코드를 넣어주면 (전 레코드타입을 id*loc.t*id*loc.t로 구현했습니다.)

할당된 이상으로 메모리를 쓰기 때문에, 그 뒤에 다른 변수 사용시 덮어씌어지는

현상이 일어날 것도 같은데요... 아무 이상없이 잘 됩니다..

도대체 메모리 allocation에서 사이즈가 어떤 크기 인지 궁금합니다.^^


--가령

let
x := {i := 1, j := 2}
in
let
y := 0
in
y := malloc(50);
(y) := 5;
write x.i;
write x.j;
write *y
end
end

를 했을때 x에 1의 크기만 할당되므로 레코드를 넣을때 뒤부분 필드들은 할당되

지 않은 공간에 씌여지고 나중에 y에 덮어씌어 질줄 알았는데... 그렇지 않고

아무 문제 없었다는...... 이유를 알고 싶습니다.

end


일종의 가상 메모리라고 생각하면 어떨까요, 모든 변수들은 하나의 공간만을 가지는 가상 메모리요.

레코드도 정수도 한 공간만 점유한다고 생각하면 되지 않을까요?
위로
현경렬



가입: 2005년 9월 28일
올린 글: 19
위치: 스쿨

올리기올려짐: 2005년10월19일 21:24    주제: Re: memory allocation에서 이해할수 없는 문제.. 인용과 함께 답변

인용:
일종의 가상 메모리라고 생각하면 어떨까요, 모든 변수들은 하나의 공간만을 가지는 가상 메모리요.

레코드도 정수도 한 공간만 점유한다고 생각하면 되지 않을까요?


제가 쓴 글입니다 Smile
_________________
Programming Rumble
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2005) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay