内联函数一般可以:
1.加快程序的执行速度;
2.可能减小可执行文件的大小;
3.可能增加可执行文件的大小;
4.可能降低执行速度。
1和3很好理解,在编译时期内联函数能将代码直接写入其被调用的地方,这样就减少了入栈出栈的时间消耗,但是如果调用内联函数的地方过多,代码量也会随之增加,增加了可执行文件的大小。
2为什么正确呢?是因为如果调用普通函数的话编译器可能会产生更多的代码来实现压、出寄存器的代码,对于简单的内联函数会这样。但如果优化器能顺序集成消除大量冗余代码的话,对大函数也同样适用。
4呢?如果可执行文件过大,会频繁的出现内存的换入换出操作,会是执行速度下降。
综上:我们要根据实际需求来确定自己是否要使用内联函数。