__packed

今天移植又碰到了这个__packed定义的事情,记录一下,方便下次查阅。

一般在库中,会定义如下

/* 编译器差异化定义 */
#if  defined ( __GNUC__ )
    #ifndef __weak
        #define __weak   __attribute__((weak))
    #endif /* __weak */
    
    #ifndef __packed
        #define __packed __attribute__((__packed__))
    #endif /* __packed */
#endif /* __GNUC__ */

如果在

中又勾选了GNU extension,那么问题就会出来

attribute "__packed__" does not apply ,

那么解决方式也很简单去掉 这个勾选或者去掉SDK里面的定义即可。

2024.05.29

1.今天升级keil后,发现又出现这个问题,用上次的方法不行,原来是另外一个中间件也出现了

上述定义,导致失败,这些直接删除(XX_app_conf.h)里面的定义,编译OK了,所以再出现类似情况,需要查看有无重复定义出现的情况。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值