无相求码头像
关注

一文搞懂 C 语言中的内联函数 inline(原理 + 用法 + 坑点)

在学习 C 语言优化时,你一定听过这样一句话:

“把小函数写成 inline,可以提高程序运行效率。”

那问题就来了:

  • inline 到底是什么?

  • 真的是“写了就一定快”吗?

  • 编译器到底听不听你的?

  • 实际开发中到底该不该用?

这篇文章就用大白话 + 实战代码,带你一次性彻底搞懂 inline


一、什么是内联函数(inline)?

我们先从最直观的理解开始。

1. 普通函数是怎么执行的?

比如这样一个函数:

int add(int a, int b) { return a + b; }

在程序中调用:

int c = add(3, 5);

真实执行过程是:

  1. 程序跳转到 add 函数

  2. 执行 a + b

  3. 再跳回来继续执行

这个过程就叫 函数调用开销(压栈、跳转、返回)。


2. inline 的本质:不是“调用”,而是“展开”

如果你这样写:

inline int add(int a, int b) { return a + b; }

编译器在合适的情况下会直接变成这样:

int c = 3 + 5;

没有函数跳转
没有压栈出栈
就像手写代码一样快

所以一句话总结:

inline 的本质就是:用空间换时间。


二、为什么 inline 能提升性能?

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/u012732668/article/details/155652578

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--