WinAPI
InLine 문법
Nin
2021. 1. 20. 00:40
함수를 선언할때 inline 이라는 키워드를 붙이면은
함수를 함수체만 남겨서 스택에 메모리를 만들지 말라는 키워드이다.
함수를 호출하면 프로그램은 무조건 느려진다.
이는 함수의 동작 원리에 대해서 생각해보면 되는데
함수가 호출되면 스택에 지역변수나 리턴값을 저장할 공간을 할당하고
함수가 종료되면 이 메모리를 삭제하는 동작을 거치기 때문에 느려지는게 당연하다.
int Func(int _Number)
{
return _Number * 2;
}
int main()
{
int A = Func(10);
}
위의 코드를 실행하면 Func(10)이 호출되고 스택에
지역변수에 대하여 저장공간을 할당하고 수행한다.
위의 코드에 inline 키워드를 붙여서
inline int Func(int _Number)
{
return _Number * 2;
}
int main()
{
int A = Func(10);
}
이렇게 수정해주면 동작하는 방식이
int A = 10 * 2;
이렇게 바뀌게 된다.이렇게 되면 함수로 실행되는거보다 속도가 빠르다.
그렇지만 inline 키워드를 붙인다고 무조건 되는것은 아니다.
컴파일러가 판독해서 컴파일러의 조건에 따라서 가능 또는 불가능하다.