当前位置: 首页 > news >正文

C语言(内联函数(C99)和_Noreturn)

 1.内联函数

通常,函数调用都有一定的开销,因为函数的调用过程包含建立调用,传递参数,跳转到函数代码并返回。而使用宏是代码内联,可以避开这样的开销。

内联函数:使用内联diamagnetic代替函数调用。把函数变成内联函数,编译器可能会用内联diamagnetic替换函数调用,并执行一些优化,但是也可能不起作用

标准规定,具有内部谅解的函数可以成为内联函数,还规定了内联函数的定义与调用该函数的代码必须在同一个文件中。使用内联函数关键字(inline)和存储类别说明符static

Inline static void eatline(){

        While(getchar() ! = '\n') continue;

}

Int main(){

        ...

        eatline();

        …

}

编译器查看内联函数的定义,可能会用函数体中的代码替换eatline()函数调用。效果相当于在函数调用的位置输入函数体中的代码

Inline static void eatline(){

        While(getchar() ! = '\n') continue;

}

Int main(){

        ...

        While(getchar() ! = '\n') continue;

        …

}

由于并未给内联函数预留单独的代码块,所以无法获得内联函数的地址。内联函数应该比较短小,把较长的函数变为内联函数并不会节约时间,因为执行函数体的时间比调用函数的时间要长得多。

如果要在多个文件中使用某个内联函数,可以把内联函数定义放入头文件,并在使用该内联函数得文件中包含该头文件

2._Noreturn

该说明符说明调用完函数以后不返回主调函数,exit()就是使用得_Noretrun,而被调函数中的return 会返回到主调函数


好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~

如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈

http://www.lryc.cn/news/3629.html

相关文章:

  • 图卷积神经网络(GCN)理解与tensorflow2.0 代码实现 附完整代码
  • 模电学习6. 常用的三极管放大电路
  • Lesson 6.6 多分类评估指标的 macro 和 weighted 过程 Lesson 6.7 GridSearchCV 的进阶使用方法
  • 基于 Python 实时图像获取及处理软件图像获取;图像处理;人脸识别设计 计算机毕设 附完整代码+论文 +报告
  • 前后端RSA互相加解密、加签验签、密钥对生成(Java)
  • 基于Java+SpringBoot+Vue前后端分离学生宿舍管理系统设计与实现
  • 前端高频面试题—JavaScript篇(二)
  • 【微信小游戏开发笔记】第二节:Cocos开发界面常用功能简介
  • 3分钟,学会了一个调试CSS的小妙招
  • 【项目精选】基于jsp的健身俱乐部会员系统
  • java注解
  • 移动测试相关
  • SIGIR22:User-controllable Recommendation Against Filter Bubbles
  • Python中的进程线程
  • python(8):使用conda update更新conda后,anaconda所有环境崩溃----问题没有解决,不要轻易更新conda
  • c++11 标准模板(STL)(std::multimap)(四)
  • 乐观锁及悲观锁
  • 常见的锁策略
  • springboot学习(八十) springboot中使用Log4j2记录分布式链路日志
  • 10种ADC软件滤波方法及程序
  • 第五章:Windows server加域
  • Elasticsearch:获取 nested 类型数组中的所有元素
  • English Learning - Day53 作业打卡 2023.2.7 周二
  • SpringMVC--注解配置SpringMVC、SpringMVC执行流程
  • JavaScript中数组常用的方法
  • ModuleNotFoundError: No module named ‘pip‘
  • ROS2 入门应用 发布和订阅(C++)
  • XSS漏洞,通过XSS实现网页挂马
  • 家政服务小程序实战教程09-图文卡片
  • 国内唯一一部在CentOS下正确编译安装和使用RediSearch的教程