__attribute__((weak))的应用
来源:互联网 发布:matlab 初始化3维矩阵 编辑:程序博客网 时间:2024/06/06 00:28
最近在开发STM32F407项目发现工程中有__weak函数说明,下面解释一下怎么应用
#if defined ( __GNUC__ )
#ifndef __weak
#define __weak __attribute__((weak))
#endif /* __weak */
#ifndef __packed
#define __packed __attribute__((__packed__))
#endif /* __packed */
#endif /* __GNUC__ */
用于函数声明,__weak声明于函数时,在工程中可以没有函数实体,当函数中有实体函数时(没有带__weak)在函数调用的时候只调用没有带__weak的函数,如下:
int func(void)
{
Func_t();
}
__weak void Func_t(void)
{
}
其实这样做的原因是为了使软件框架更加利于扩展和兼容;同时也满足没有实体函数而报编译错误,如果在上述的结构中要求在Func_t函数中实现加法运算,函数只要做如下修改:
void Func_t(void)
{
c=a+b;// 假设a,b,c都是全局变量;
}
PS:注意函数头没有带__weak。
0 0
- __attribute__((weak))的应用
- __attribute__((weak))
- __attribute__((weak))
- __attribute__((weak))
- __attribute__((weak))
- __attribute__((weak))
- __attribute__((weak))
- __attribute__((weak))
- 弱符号__attribute__((weak))
- try __attribute__((weak))
- gcc: __attribute__ ((weak))
- __attribute__((weak)) 博大精深的gcc ------ 关于弱符号的用法
- __attribute__ 之weak,alias属性
- __attribute__ 之weak,alias属性
- __attribute__ 之weak,alias属性
- __attribute__ 之weak,alias属性
- __attribute__ 之weak,alias属性
- gcc __attribute__ ((weak, alias (#name)))
- java垃圾回收机制——经典论文阅读uniprocessor garbage collection techniques
- 统计分析之集中、离中、偏态和峰态的一些度量方法
- IOS 7.0以后的UILabel自适应高度解决办法.
- 【学习OpenCV】xml的读写
- UITableViewCell 颜色修改
- __attribute__((weak))的应用
- 2.ajax+springmvc+json
- 数组,字符串用法
- Android通过Wifi来调试你的应用
- MFC RadioButton用法详解
- android 基于百度地图api开发定位以及获取详细地址
- 西安最权威男科医院选哪家?
- 软件调试方法--小黄鸭调试法
- oracle学习笔记