timespec结构体重复定义

发表在 RTC2019-6-12 14:28 [复制链接] 2 270

求助,在学习rt-thread,发现在IAR8.2环境下,
struct timespec结构体IAR和rt-thread中重复定义,这种情况下该如何解决?

* }- `; D2 m1 _5 Q4 X1 z9 c
  

0 ~7 O  [2 a$ h$ `7 P2 F
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-6-12 14:57:25 | 显示全部楼层
没有重复定义。针对IAR的版本rtt对这部分进行了处理,相关文件是
components\libc\compilers\dlib\sys\time.h
4 Q# W  d9 @* Z
文件中有如下代码:
  O  H/ G4 ], U* E! w
  1. /*
    % h  c1 m: R5 H* a! v% |
  2. * Skip define timespec for IAR version over 8.10.1 where __VER__ is 8010001.
    2 u0 D! v& c# E' A$ j% G  J
  3. */* X( F# B, K5 |- Q0 i$ }
  4. #if defined ( __ICCARM__ ) && (__VER__ >= 8010001)
    2 H% u  H) U. B! P' ~. m0 x7 J
  5. #define _TIMESPEC_DEFINED) Q) m. t8 j7 d& C: X
  6. #endif
    7 ?# W9 H6 E2 u4 h8 G8 p

  7. 1 z2 ~  d/ O) W( i
  8. #ifndef _TIMESPEC_DEFINED+ V( a, Q2 n7 U, J3 u5 X$ z
  9. #define _TIMESPEC_DEFINED! O/ T( V2 X. @
  10. /*
    + Q- C0 y1 {' y: \
  11. * Structure defined by POSIX.1b to be like a timeval.
    6 g$ G* J$ R9 ^" F. E4 n3 C
  12. */: L$ g1 W; J1 r0 K+ Z. k$ W
  13. struct timespec {
    - D7 p( Z! J& R- U+ _
  14.     time_t  tv_sec;     /* seconds */( h# S1 j1 j9 _
  15.     long    tv_nsec;    /* and nanoseconds */
      w" x1 h* b- f/ ?1 N/ J% a
  16. };6 m5 Q8 g* _! k* h9 M( c. t
  17. #endif /* _TIMESPEC_DEFINED */
复制代码

$ u' l" i: i5 i: @' q) rIAR8.1以后自带了timespec结构体类型的定义,所以通过宏定义在使用IAR8.1时禁用rtt里面的定义。
使用道具 举报 回复
发表于 2019-6-12 15:51:41 | 显示全部楼层
在rtconfig.py中正确填写iar的路径后会根据版本号自动处理相关宏
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表