개발 언어/Embedded C
-
Overhead를 줄이기 위한 인라인 함수란? Inline Function개발 언어/Embedded C 2023. 5. 9. 23:36
정의 인라인함수(Inline Function)는 함수 호출 시, Overhead를 줄이기 위한 C/C++의 기능입니다. 인라인 함수는 함수가 호출되는 대신, 함수 코드가 직접 호출문 위치에 삽입되어 컴파일됩니다. 따라서 함수 호출 시에 발생하는 Overhead를 줄일 수 있습니다. 작성방법 인라인 함수는 일반적인 함수와 마찬가지로 작성하는데, 함수 선언에 'inline' 키워드가 추가되어야 합니다. 아래는 일반적으로 함수를 작성하는 방법입니다. int add(int x, int y){ return x+y; } int main(){ int a = 10, b = 20; int c = add(a, b); return 0; } 인라인함수로 만들 경우 아래와 같이 작성합니다. inline int add(int x..
-
임베디드에서 오버헤드(Overhead)란?개발 언어/Embedded C 2023. 5. 9. 23:15
정의 Overhead는 일반적으로 작업을 수행하기 위해 시스템 자원을 사용하는데 필요한 추가적인 비용을 말합니다. 즉, 실제 작업에 직접적으로 기여하진 않고, 시스템 전반적인 성능에 영향을 미치는 부분을 의미합니다. 예시 시스템 호출, 함수 호출, 데이터 복사 등이 Overhead의 예시입니다. 즉, 추가 비용이 드는 행위는 Overhead를 초래합니다. 함수를 호출하면, 호출되는 함수의 지역 변수와 매개 변수를 스택(Stack Section)에 할당합니다. 함수가 종료되면 반환 값이 있을 경우 값을 반환하고, Stack 프레임을 제거한 후, 원래 실행되던 함수로 돌아갑니다. 이 과정에서 스택(Stack Section)에 할당하는 행위가 Overhead를 만듭니다. Overhead를 줄이는 방법 가능한 ..