inline 함수는 코드 삽입이 어떻게 되나요?

hugeval의 이미지

인라인함수는 함수 코드가 인라인함수 호출하는곳으로

삽입된다고 하잖습니까 그렇다면

// 1
inline int sum(int a, int b)
{
return a+b;
}

// 2
inline int sum(int a, int b)
{
int c;
c=a+b;
return c;
}

//// 메인함수
int main(void)
{
int a=3, b=5;
sum(a,b); // 3
return 0;
}

메인 함수에서 sum을 호출하는데 3번 부분에 코드가 삽입될때

함수의 지역 변수 선언문이나 return 같은거도 그대로 인라이닝 되는건지 궁금합니다

답변 부탁드리겠습니다.

bootmeta의 이미지

3 위치에 sum이 인라인 될 때 어차피 sum 함수 내부 a,b,c등의 local 변수들의 name은 inline 이전에 이미 사라지고 없습니다.
(main 함수 내 a,b 역시 binary 차원에선 이미 사라지고 없습니다.)