__weak 关键字的作用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37697335/article/details/81628417

在使用STM32的hal库的时候,我们常常可以看到很多库自带的函数有很多是使用__weak修饰的,比如:

这个修饰符的作用是什么呢?先看看单词的意思:

我们可以知道这是弱的意思,具体弱在哪里?又是和什么比较?

其实函数名称前面加上__weak 修饰符,我们一般称这个函数为“弱函数”

加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数,最终编译器编译的时候,会选择用户定义的函数,如果用户没有重新定义这个函数,那么编译器就会执行__weak 声明的函数,并且编译器不会报错。所以我们可以在别的地方定义一个相同名字的函数,而不必也尽量不要修改之前的函数,。

猜你喜欢

转载自blog.csdn.net/m0_37697335/article/details/81628417
今日推荐