2016 - 2024

感恩一路有你

mplab内联函数 什么是内联函数?

浏览量:1912 时间:2021-03-13 07:44:13 作者:admin

什么是内联函数?

内联函数具有通用函数的特点,只有在函数调用的处理上不同于通用函数。调用一般函数时,程序的执行权应转移到被调用函数,然后返回到调用它的函数;调用内联函数时,调用表达式由内联函数的主体替换。在使用内联函数时,我们应该注意以下几点:

1。内联函数中不允许使用循环语句和开关语句。

如果内联函数有这些语句,编译器会将函数视为普通函数来生成函数调用代码。递归函数(调用它们自己的函数)不能用作内联函数。内联函数只适用于只有1-5行的小函数。对于包含许多语句的大型函数,函数调用和返回的代价相对较小,因此不必使用内联函数。

2. 内联函数的定义必须在第一次调用内联函数之前出现。

3. 在本专栏中提到的类结构中,类描述中定义的所有函数都是内联函数。

内联函数带来的好处有有哪些?

与普通函数相比,内联函数的优点如下:

消除了函数调用的时间开销。从源代码层面看,内联函数具有函数的结构,但编译后不具有函数的性质。因为必须在调用函数之前保存寄存器,在函数返回时还原寄存器,并且复制实际参数,所以程序也必须在新位置执行。与宏定义相比,内联函数的优点如下:

1。内联函数可以在运行时调试,但宏定义不能。编译器会对内联函数的参数类型进行安全检查或自动类型转换(与普通函数相同),但宏定义不会。内联函数可以访问类的成员变量,但宏定义不能。声明在类号中同时定义的成员函数,自动转换为内联函数

内联函数的定义:将函数定义为内联函数就是在程序中的每个调用点将其“内联”展开。在函数返回类型之前添加inline关键字。在类声明中定义的成员函数自动成为内联函数。内联函数的应用:

1。重复调用函数;

2。函数只有几行,不包含for、while和switch语句。内联函数应该在头文件中定义,这与其他函数不同。

mplab内联函数 内联函数在扩展时 函数模板的调用

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。