게시판 인덱스

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

5-2 작동 질문

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



가입: 2015년 10월 14일
올린 글: 3

올리기올려짐: 2015년11월11일 10:55    주제: 5-2 작동 질문 인용과 함께 답변

안녕하세요 5-2 과제에 대해 질문이 있습니다.

let cmds7 = append 255 (fun i -> let v = Printf.sprintf "x%d" i in [MALLOC; BIND v]) [PUSH (Val (Z 1)); PUT]

1이 출력되어야 하는것이 맞나요? Sm5 스펙상 bind 시에 메모리 변화가 일어나서 그럴거 같긴 한데 혹시나 해서 물어봅니다.
위로
사용자 정보 보기 비밀 메시지 보내기
최재승



가입: 2012년 9월 10일
올린 글: 211

올리기올려짐: 2015년11월11일 14:31    주제: 인용과 함께 답변

안녕하세요,

인용:
let cmds7 = append 255 (fun i -> let v = Printf.sprintf "x%d" i in [MALLOC; BIND v]) [PUSH (Val (Z 1)); PUT]

1이 출력되어야 하는것이 맞나요?

네, 1이 출력되는 것이 맞는 결과입니다.

인용:
Sm5 스펙상 bind 시에 메모리 변화가 일어나서 그럴거 같긴 한데

bind는 메모리에 변화를 일으키지 않으며, 스택(S)과 환경(E)만 건드립니다.

인용:

(w :: S, M, E, bind x :: C, K) ⇒ (S, M, (x, w) :: E, C, K)


사실 어떤 부분이 미심쩍으신 것인지 잘 모르겠습니다. 혹시 MALLOC만 128번 이상 했을 때의 GC의 작동이 궁금하신 거라면, MALLOC만 반복할 때는 메모리 크기가 증가하지 않으므로 GC_Failure가 발생하지 않고 1이 정상적으로 출력되는게 맞습니다.

조교 드림
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2015) 시간대: GMT + 9 시간(한국)
페이지 11

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


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