Hello, Stranger

[Linux Programming] setjmp() / longjmp() 본문

Computer Languages/C | C++

[Linux Programming] setjmp() / longjmp()

blackcon 2015.12.03 10:59

setjmp()와 longjmp()는 C언어의 goto문과 유사하지만 다소 차이가 있습니다.

goto문 같은 경우는 실행중의 EIP(또는 Program Count)만 변경되지만, setjmp()/longjmp()의 특징은 아래와 같습니다.


int setjmp( jmp_buf env )

 - 함수가 호출되는 순간 스택값들은 env에 저장됩니다.

 - setjmp()호출, longjmp할 곳을 지정합니다.


void longjmp( jmp_buf env, int val )

 - longjmp를 호출하면 setjmp()를 한 곳으로 돌아갑니다.





0 Comments
댓글쓰기 폼