펑션상에서 리턴할 스택 포인터 변경은?
글쓴이: kooya / 작성시간: 목, 2005/12/22 - 3:07오후
funcA funcB가 있다고 하고
subfuncA가 있다고 할때
funcA가 subfuncA를 호출합니다.
subfuncA상에서 특정 경우에 리턴을 하는데 funcA로 돌아가는게 아니라
funcB로 복귀합니다.
누군가가 이런 구조에 대해서 어떻게 해야 하냐고 물어봤는데, 저 같은경우 이런 구조로 코드를 작성하진 않아서 잘 모르겠더라구요.
일단 지금 생각나는건 외부에서, 스택 오버플로우 기법으로스택 포인터 변경을 하면 될거 같습니다.
그럼 의견 부탁드립니다.
Forums:
setjmp(), longjmp()를 쓰세요.
setjmp(), longjmp()를 쓰세요.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
어떤 경우에 이런 방식이 필요한거죠??특별히 해킹 같은 이유가 아
어떤 경우에 이런 방식이 필요한거죠??
특별히 해킹 같은 이유가 아니라면
접근 방법을 바꾸는 것이 좋을것 같습니다만..
어떤 경우에 이런 방식을 필요로 하게 되는지 궁금하네요...?
일하는 사람들의 희망 민주노동당 : http://www.kdlp.org
반공 교육의 성과로, 민주주의의 반대가 공산주의(또는 사회주의)라고 생각하는 사람이 많다.
자주 보이지는 않지만..시스템 프로그래밍에서는 가끔 쓰기도 하지요..
자주 보이지는 않지만..시스템 프로그래밍에서는 가끔 쓰기도 하지요..
주로.. 인터럽트 처리나,, 빠른 속도의 효율이 필요할 때..
혹은 어떤 디버깅 루틴의 구현을 위해서 쓰기도 하지요..
(이때의 디버깅이란 개발자의 디버깅이 아니라 시스템 운용자를 위한 디버깅 기능 구현입니다.)
A few Good Man
안타깝게도 저도 한 사람을 거쳐서 받은 질문이라 의도를 궁금해 하고 있습
안타깝게도 저도 한 사람을 거쳐서 받은 질문이라 의도를 궁금해 하고 있습니다.
스티븐 아저씨 책중에 유닉스 시스템 프로그래밍 보면 나오는걸로 기억하고
스티븐 아저씨 책중에 유닉스 시스템 프로그래밍 보면 나오는걸로 기억하고 있습니다 :P
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
댓글 달기