内联扩展内联
内联扩展(也称为内联)是编译器优化,它使用该函数的主体替换对函数的调用。这节省了函数调用开销,但是以空间为代价,因为该函数可能会重复多次。
// source:
int process(int value)
{
return 2 * value;
}
int foo(int a)
{
return process(a);
}
// program, after inlining:
int foo(int a)
{
return 2 * a; // the body of process() is copied into foo()
}
内联最常用于小函数,其中函数调用开销与函数体的大小相比是显着的。