본문 바로가기
Inline함수 문제, C++ 인라인이 실패하면? Inline함수 문제, C++ 인라인이 실패하면? Inline함수가 인라인화될 수 없을 때 무슨 일이 발생하는가? 이론적으로, 컴파일러가 함수를 Inline함수를 거부할 때 그 함수는 보통의 함수처럼 다루어진다. 컴파일러는 그것을 위한 객체 코드를 생성하며 함수의 invocations는 그것의 메모리 주소로의 점프로 변환된다. 불행하게도 함수를 outline 화하는 것의 결과들은 그것보다 더 복잡해진다. 클래스 선언에서 Inline함수를 정의하는 것은 흔한 일이다. 예를 들면, 123456789101112// filename Time.h#include#include using namespace std; class Time{public: inline void Show() { for (int i = 0; i 2017. 9. 14.
인라인함수로 프로그램 코드 최적화 (C++ inline함수) 인라인함수로 프로그램 코드 최적화 (C++ inline함수) C++ 코드 최적화를 할 때 프로그램 코드엔 인라인함수가 있어야 합니다. C++ 객체지향 프로그래밍에 인라인함수가 갖는 장점을 적극적으로 활용하기 위함이죠. 이 포스트에선 함수 호출할 때 발생하는 오버헤드를 해결하는 인라인함수를 설명합니다. 프로그램 코드 최적화로 실행 속도를 개선하려면 반드시 인라인함수 사용이 필요합니다. 10.4 인라인함수들(Inline Functions) 인라인함수들은 함수 호출 때문에 초래되는 오버헤드를 제거할 수 있으며 여전히 보통의 함수들의 장점들을 제공한다. 그러나, 인라인화 하는 것은 만병통치약이 아니다. 어떤 상황들에서, 그것은 프로그램의 성능을 저하할 수도 있다. 이러한 특징을 현명하게 사용하는 것이 중요하다... 2017. 9. 8.