return 0와 exit(0)의 차이
2019. 11. 8. 21:02ㆍ임베디드/리눅스시스템프로그래밍
컴파일러 동작을 살펴보면, 실제 main이 중심이긴 하지만 _start라는 커널 함수가 먼저 호출된다. _start 함수 내부를 살펴보면
_start() {
main()
exit()
}
와 같이 구성되어 있어 마지막에 상태값이 들어간 exit를 호출하게 된다. 다만 main 안에서 exit를 바로 호출하면 프로세스가 바로 종료되기 때문에 _start 안에서의 main 아래 코드는 호출되지 않고 끝나버린다
'임베디드 > 리눅스시스템프로그래밍' 카테고리의 다른 글
[수정 전] Makefile 작성하기 (0) | 2019.11.16 |
---|---|
copy on write의 내부 동작 (0) | 2019.11.08 |
fork와 exec로 나만의 쉘 만들기 (0) | 2019.11.08 |
exec 동작 방식 (0) | 2019.11.07 |
프로세스 최대 생성 수 (0) | 2019.11.07 |