C,C++> 함수 고급
2022. 7. 27.
호출 규약 스택 스택은 시스템이 사용하는 메모리 공간이다. CPU가 임시 정보를 저장할 필요가 있을 때 이 영역을 사용한다. 호출 규약(Calling Convention)이란 함수를 호출하는 방식에 관한 약속이다. 인수는 어떻게 전달하고 반환값은 어떻게 반환하고 인수 전달을 위해 사용한 메모리는 누가 정리할 것지 등을 규정한다. 호출하는 쪽과 되는 쪽 약속이 맞아야 한다. 컴파일러 내부에서 일어나는 일이라서 이해하기 쉽지 않다. 컴파일러 내부 동작과 함수 호출 과정을 알면 재귀 호출이나 가변 인수 등 고급 기법들을 이해함으로써 자유롭게 코드를 작성할 수 있다. 또한 저수준 디버깅에도 활용할 수 있으며 다른 언어로 만든 함수를 호출하는 방법도 알게 된다. 호출 규약을 알기 위해서 스택을 알아야 하며 스택은..