pintos 구조체 할당
글쓴이: pantom2000 / 작성시간: 토, 2010/05/22 - 10:26오전
운영체제 pintos 에서 구조체 선언하여 사용하다가 test 할경우 에러가 나서 질문 여쭙니다.
아래에 구조체 포인터를 선언 하기만하여 사용하면 컴파일은 되는데 pintos 에서 alarm-aingle실행시에러가 나더군요
실제 메모리에 할당 하여 사용해야 할텐데 포인를 없애고
struct blocked_list_elem blocked_thread_elem1;으로 선언하여 사용하면 또한 컴파일시 에러가 나던데 어떻게 해야 하는건가요?
고수님들 설명 부탁드립니다
timer_sleep (int64_t ticks) { int64_t start=timer_ticks(); ASSERT (intr_get_level () == INTR_ON); /*MJ in timer sleep for timer*/ struct blocked_list_elem *blocked_thread_elem1;//이부분에서 포인터를 빼면 컴파일이 되지 않습니다 blocked_thread_elem1->wait_ticks=0;// blocked_thread_elem1->waketime=ticks;// 컴파일 시에는 에러가 없는데 여기서 핀토스 timer-single 으로 test 시 이부분에서 //page - fault exception 이 발생하는데 이유가 무엇인가요? blocked_thread_elem1->blocked_thread=thread_current(); list_push_back(&blocked_list,&blocked_thread_elem1->elem1); thread_block(); } struct blocked_list_elem { int64_t wait_ticks=0; int64_t waketime; struct list_elem elem1; struct thread *blocked_thread; }; struct list_elem { struct list_elem *prev; /* Previous list element. */ struct list_elem *next; /* Next list element. */ };
Forums:
struct list_elem; 을
struct list_elem; 을 선언해주세요.
에러메시지를 정확히 파악하시면 뭐가 문젠지 아실 수 있을거에요.
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
댓글 달기