[开发工具] IAR 6.30怎么编译 typedef struct __attribute(( packed ))?

[复制链接]
3022|0
 楼主| 金色大元宝 发表于 2016-1-15 08:31 | 显示全部楼层 |阅读模式
在用IAR 6.30移植SPIFFS,编译的时候一大段的错误,估计是格式不同,编译器不认识。

typedef struct __attribute(( packed )) 估计是GCC的写法,我应该怎么改成IAR的?


===============================================
typedef struct __attribute(( packed )) 已经解决

改成 typedef __packed struct 就行

新问题是, __attribute(( aligned(sizeof(spiffs_page_ix)) )) 该怎么修改?

还有这个
  1. #pragma GCC diagnostic push

  2. #pragma GCC diagnostic ignored "-Wpointer-to-int-cast"

  3.   u8_t addr_lsb = ((u8_t)fd_space) & (ptr_size-1);

  4. #pragma GCC diagnostic pop

意思是屏蔽指针转为小整数的警告,
IAR已经#pragma diag_suppress=Pe767代替实现

但是怎么能限定他只屏蔽当前一条警告? 类似 push pop这样。而不对后面的Pe767警告进行屏蔽?


您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

82

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部