MDK ARM中__weak关键字的使用

本文介绍了在MDK ARM环境下使用__weak关键字定义函数时遇到的问题及其解决方案。当一个weak函数包含死循环时,会导致程序运行错乱。解决办法是将含有死循环的weak函数放在单独的文件中,避免编译优化导致的问题。
摘要由CSDN通过智能技术生成

1. 使用方法

__weak函数用于定义变量或者函数,常见于定义函数,在MDK ARM链接时优先链接定义为非weak的函数或变量,如果找不到则再链接weak函数。具体用法为:

file1.c

__weak void weakFunction(void){
    //do something
    return;
}


void someFunctionCall(void){
    //do something
    weakFunction();
    //do something
    return;
}

file2.c

void weakFunction(void){
    //do something
    return;
}

具体方法可以参考MDK

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值