__weak 关键字的作用
在使用STM32的hal库的时候,我们常常可以看到很多库自带的函数有很多是使用__weak修饰的,比如:
这个修饰符的作用是什么呢?先看看单词的意思:
我们可以知道这是弱的意思,具体弱在哪里?又是和什么比较?
其实函数名称前面加上__weak 修饰符,我们一般称这个函数为“弱函数”。
加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数,最终编译器编译的时候,会选择用户定义的函数,如果用户没有重新定义这个函数,那么编译器就会执行__weak 声明的函数,并且编译器不会报错。所以我们可以在别的地方定义一个相同名字的函数,而不必也尽量不要修改之前的函数,。
__weak 关键字的作用相关推荐
- linux中__weak关键字的作用
在linux的驱动代码中经常可以看到__weak去修饰一个函数或者变量,大多是用来修饰函数. 它的作用有两个: 1.weak 顾名思义是"弱"的意思,所以如果函数名称前面加上__w ...
- 【Java_基础】Java中Native关键字的作用
本篇博文转载与:Java中Native关键字的作用 转载于:https://www.cnblogs.com/leiblog/p/10529056.html
- c++语言static作用,详解c++中的 static 关键字及作用
注:若没有特指是 静态成员时,默认都是普通成员: 1 类中的普通成员 类中的成员变量 和 成员函数 是分开存储的.其中, 1)每个对象都有独立的成员变量:成员变量可以存储在 栈空间.堆空间.全局数据区 ...
- volatile关键字的作用、原理
在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到"半个"单例. 而发挥神奇作用的volatile,可以当之 ...
- C++中explicit关键字的作用
C++中explicit关键字的作用 explicit用来防止由构造函数定义的隐式转换. 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换. ...
- [partial] C#里partial关键字的作用
[partial] C#里partial关键字的作用 1. 什么是局部类型? C# 2.0 引入了局部类型的概念.局部类型允许我们将一个类.结构或接口分成几个部分,分别实现在几个不同的.cs文件中. ...
- 深入理解并发内存模型||JMM与内存屏障||多核并发缓存架构 ||JMM内存模型||volatile 关键字的作用 ||JMM 数据原子操作||JMM缓存不一致的问题
深入理解并发内存模型||JMM与内存屏障 多核并发缓存架构 JMM内存模型 volatile 关键字的作用 JMM 数据原子操作 JMM缓存不一致的问题
- [实验]-从汇编代码来看volatile关键字的作用
★★★ 个人博客导读首页-点击此处 ★★★ 环境aarch64的交叉编译器 我们将C语言翻译成汇编代码,来看volatile关键字的作用 我们先看一段C语言代码 void udelay(uint64_ ...
- 、简述global关键字的作用_详解static inline关键字
详解static inline关键字 本文章为知乎用户 @徐yang哟 原创,禁止抄袭! 灵感来源 在查stm32的LL库部分函数的API时,有时会查到这种函数: __STATIC_INLINE vo ...
最新文章
- [转] Leaving patterns practices
- C++map容器遍历删除:cannot increment value-initialized map/set iterator
- 【kafka】Kafka 集群配置SASL+ACL
- Python提取任意长度整数的每位数字
- layout里添加xml文件没有在R.java里生成ID
- 【深度学习之Tensorflow2.0】函数matmul和函数multiply的用法
- CSS系列之 box-sizing
- 【Love2d从青铜到王者】第十五篇:Love2d之角度和距离(Angles and distance)
- wincap的使用总结
- android 怎么改变字体颜色,安卓系统字体颜色修改教程
- java wgs84 百度坐标,百度坐标转WGS84(即GPS)坐标
- 1052 Linked List Sorting (25 分)-PAT甲级
- hp 交换机远程连接_Hp服务器 iLO3 使用方法
- Fatal error: require(): Failed opening required ‘/home/www/xx/public/../thinkphp/start.php
- 盘古开源解析:物联网时代的芯片产业新趋势
- krpano 陀螺仪 相关问题
- ubuntu 18.04 安装gdb
- DTV_SI 汇总 兼谈LCN
- UPS蓄电池放电时间的计算
- 佳能c3020维修模式 白电平调整_各品牌传真机清零方法及白电平调整方法汇总