C语言关键字之inline

article/2025/10/20 4:25:09

简介

inline放在函数返回类型前修饰函数,被修饰的函数就叫做内联函数。

static inline void function(void)

在C语言中,函数调用时保存现场,函数中变量的使用等都会占用栈空间。而且进入函数前的保存现场,跟函数调用结束后的恢复现场都需要时间花销。

当函数的调用代价大于直接将代码拷贝到运行程序中时,我们就会使用inline关键字建议编译器将函数直接拷贝到函数调用中直接运行来换取函数的调用。(例如:经常需要调用某简短的函数时)

(注意:inline是向编译器提建议,不是命令编译器,所以加inline修饰的函数是否变成内联函数,这由编译器做决定!!)

使用方法

inline的使用方法其实是固定的,它定义在头文件中,并用static修饰。

//inline.h
#include <stdio.h>void func1(void);static inline void ile(void)
{printf("I'm inline function!\r\n");
}

在使用此内敛函数的文件中包含此头文件即可。

//main.c
#include "inline.h"int main (int argc, char **argv)
{func1();ile();return 0;
} 

奇怪了,在C程序中,函数的定义不是放在.c文件中的吗?为啥你的inline函数要放在.h文件中呢?

这就从inline的原理上说起,inline是将调用处的函数名直接由函数体的拷贝替换掉。

编译的时候我们就要知道函数体在哪,所以必须要将它的定义放在头文件中,然后包含到调用的文件中。

还有重要一点就是,要加static修饰,因为是简单的拷贝,如果不加的话,编译时就会报错说你重复定义函数。

经查看编译后的.o文件中可以看到函数体被拷贝到了调用inline函数的文件中。

 


http://chatgpt.dhexx.cn/article/s1AZLBPf.shtml

相关文章

C语言关键字详解(五)带你全面了解 volatile 关键字

目录 一、前言二、最易变的关键字—volatile1、volatile 总体阐述2、CPU运算与内存覆盖3、线程与执行流4、volatile修饰变量 三、总结 一、前言 大家好&#xff0c;欢迎来到C语言深度解析专栏—C语言关键字详解第五篇&#xff0c;在本篇中我们将会介绍C语言当中的另外一个重要的…

c语言关键字之auto

文章目录 1.c语言中&#xff0c;关键字auto用于声明一个变量为自动变量2.c语言中&#xff0c;只使用auto修饰变量&#xff0c;变量的类型默认为整型3.c中&#xff0c;关键字auto是一个类型说明符题目&#xff1a;编写一段程序&#xff0c;读入一段包含标点符号和空格的字符串&a…

C语言深度解剖——C语言关键字

每天进步一点点&#xff0c;坚持带来大改变&#xff01;&#xff01;&#xff01; 前言&#xff1a; 在C语言的学习过程中会遇到许多的关键字&#xff0c;我们是否真的详细了解这些关键字的使用方法和使用场景&#xff0c;下面我们来详解C语言中的32个关键字 1.C语言关键字概览…

c语言标识符与关键字的关系,C语言关键字与标识符

没有人有资格干涉你的梦想&#xff0c;同样的&#xff0c;也没有人有义务支持你的梦想。能让你坚持或放弃的&#xff0c;终究只有你自己。 标识符 只能以数字&#xff0c;字母和下划线组成&#xff0c;但第一个不能以数字开头。用户自己使用一般第一个也不用下划线(当然也不会出…

c语言什么是关键字,c语言关键字是什么

c语言关键字是什么&#xff1f; c语言关键字又称为保留字,就是已被C语言本身使用,不能作其它用途使用的字。 C语言简洁、紧凑&#xff0c;使用方便、灵活。ANSI C标准C语言共有32个关键字&#xff0c;9种控制语句&#xff0c;程序书写形式自由&#xff0c;区分大小写。把高级语…

C语言的32个基本关键字

1、数据类型关键字&#xff08;12个&#xff09; (1) char &#xff1a;声明字符型变量或函数 注&#xff1a;char 占一个字节&#xff0c;也就是 8 个二进制位&#xff0c;但它表示的是有符号的类型&#xff0c;所以表示的范围是 -128~127 &#xff1b;uchar 表示无符号的类型…

C语言的32个常用关键字

目录 前言 一、关键字是什么&#xff1f; 二、关键字使用方法 1.关键字分类 2.使用方法&#xff08;详解&#xff09; 1.数据类型关键字 int&#xff0c;float&#xff0c;double&#xff0c;charshort&#xff0c;long&#xff0c;signed&#xff0c;unsignedunion&#x…

C语言32个关键字详解

以下内容建议大家收藏&#xff0c;全是干货&#xff0c;建议反复观看&#xff01;&#xff01;&#xff01; Lets Go ! ! ! 首先我们把 C89(C90) 的所有关键字进行一下分类&#xff0c;方便大家理解。 数据类型关键字(12个)&#xff1a; char、short、int、long、signed、unsi…

android将手机能当蓝牙耳机使用吗,一种利用android手机作为蓝牙适配器的蓝牙耳机测试系统及其测试方法与流程...

本发明涉及蓝牙耳机测试的技术领域,特别涉及一种利用android手机作为蓝牙适配器的蓝牙耳机测试系统及其测试方法。 背景技术: 目前蓝牙耳机测试采用如下技术方案: 1、开发蓝牙适配器: 从耳机厂商处获取配置信息,根据配置信息开发蓝牙dongle(蓝牙适配器); 2.测试蓝牙耳机:…

手机音频口通信

1. 为什么用音频口通信而不用其他接口&#xff1f; 原因是音频口简单、廉价、每个智能手机上都有而且有大量的资料可供查阅。其他的接口诸如usb&#xff0c;firewire等&#xff0c;有的只是安卓手机上有&#xff0c;有的只是iPhone手机上有&#xff0c;即使是一般安卓手机上…

软件测试教程之手机软件测试方法

第一&#xff1a;兼容性测试&#xff08;转载来源&#xff1a;千锋&#xff09; 针对App通常会考虑这些方面&#xff1a; 1)操作系统版本 包括Andoird版本&#xff0c;iOS版本 2)屏幕分辨率 android 800*480, 960*640,1280*720(720p),1920*1080(1080p),2560*1440(2k). 对于iOS,…

手机语音通讯测试(Mobile Phone Communication Test)

手机作为个人电子设备,已然成为人们日常生活的中心,其语音通讯质量的好坏直接影响客户黏性。许多标准化组织和运营商对手机的通话质量有详细客观的定义,如中国移动,美国T-Mobile均对手机入网有严格的要求,包括手机通话的延时,及在有一定网络损耗下的语音通话质量等等。 手…

声道测试音频_AirPods Pro 空间音频的这7个问题,你都了解吗?

大家好&#xff0c;我是没能改变世界&#xff0c;却轻松被手机改变的不1不2。 真无线蓝牙耳机 AirPods Pro 空间音频的这7个问题&#xff0c;你都了解吗&#xff1f; 这篇文章的内容是AirPods Pro 空间音频的固件升级、升级故障、使用体验、空间音频和立体声的区别相关的问题&a…

一篇读懂:Android/iOS手机如何通过音频接口(耳机孔)与外设通信

一文读懂Android/iOS手机如何通过音频接口与外设通信 更多技术干货&#xff0c;欢迎扫码关注博主微信公众号&#xff1a;HowieXue&#xff0c;一起学习探讨软硬件技术知识经验&#xff0c;关注就有海量学习资料免费领哦&#xff1a; 目录 一文读懂Android/iOS手机如何通过音频接…

嵌入式学习笔记(一)嵌入式操作系统测试

嵌入式操作系统产品在学习的过程中&#xff0c;了解产品特性能够有助于学习产品功能&#xff0c;并且能够从用户角度发掘产品需要满足的重要特征&#xff0c;从而提炼产品特点&#xff0c;并且化作产品亮点&#xff0c;转化为产品未来占领市场、提升竞争力的关键切入点。 通过…

专业音响常用测试软件,音响师怎么测试音响?离不开这几款音频处理软件!

原标题:音响师怎么测试音响?离不开这几款音频处理软件! 随着计算机技术的快速发展,如今的音响圈大部分设备器材都已经开始迈入数字时代,过去用来作为现场音乐播放的CD机、硬盘机等都被现今以计算机为主体的音频工作站所代替,这样的数字变革不仅带来了音质上的提高,同时也…

linux数字音频播放器,Moode Audio Player数字音频播放系统的体验

Element14 Raspberry Pi 3B Raspberry Pi 3B ARM开发板封装 Volumio OS数字音频播放系统-主页控制主界面 上周末,我们为几台ARM微型计算机推出了Raspberry Pi [Raspberry Pi]和数字音频播放系统Volumio OS. 它可以以较低的成本和简单的安装模式将USB声卡放到消费者手中. 或者将…

如何用计算机装手机系统,教你在手机上安装Windows系统

上图是在手机上运行Windows系统时的实拍效果。回归正题,如何把电脑系统安装在手机上?01 要实现在手机上安装Windows系统,需要用到两个文件: Limbo+Windows精简镜像 其中,Limbo为后续安装的Windows系统提供了一个运行环境,它是一个手机应用软件,而Windows精简镜像则是最终…

《手机音频》参数与选择

一、手机音频&#xff1a;智能手机的音频处理电路主要处理手机的声音信号。它主要负责接收和发射音频信号&#xff0c;是实现手机音频交互的关键电路。智能手机音频处理电路主要包括&#xff1a;音频信号处理芯片&#xff08;集成ADC/DAC&#xff09;、音频功率放大器、话筒(麦…

测试音频质量的软件,音频质量PESQ得分评估原理与步骤

在实时音视频领域,我们经常需要评估音频质量。而语音质量评价是一个与语音学、语言学、信号处理、心理学、生理学等学科有密切联系的领域,因此语音质量评价是一个极其复杂的问题。语音质量评价方法从评价主体上可分为两大类:主观评价和客观评价。 主观评价:人评价(一般40人…