1
C에서 함수가 반환되지 않으면 스레드의 실행 스택은 어떻게됩니까?함수가 반환되지 않으면 실행 스택은 어떻게됩니까?
void funcB() __attribute__ ((noreturn));
int funcA (...)
{
// do stuff
funcB();
// do more stuff
}
이 상황의 예는 funcA는 새로운 스레드를 생성하는 커널 함수이고 funcB 사용자 모드로 새 스레드를 전환하고 실행하자 커널 코드 말한다이다.
감사합니다.
질문 (및 질문 자체)에 설명 된 이벤트가 명확하지 않습니다. 제발 좀 더 자세히 설명해주세요. –
반환하지 않는 함수는 종료 함수이거나, 전체 프로세스를 정리하려고하는 함수이거나, 전체 프로그램 이미지를 대체하는'exec'와 같은 함수입니다. 단점은 더 이상 스택이 필요 없다는 것입니다. –
네, 어떻게 될 것으로 예상됩니까? exit (0)도 반환하지 않습니다. 스택이 끝날 때까지 사용 된 스택은 프로그램이 종료 될 때까지 사용됩니다 ... –