RTC

timespec结构体重复定义

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

查看更多

关注者
0
被浏览
499
2 个回答
zhangjun
zhangjun 2019-06-12
没有重复定义。针对IAR的版本rtt对这部分进行了处理,相关文件是
components\libc\compilers\dlib\sys\time.h

文件中有如下代码:
/*
* Skip define timespec for IAR version over 8.10.1 where __VER__ is 8010001.
*/
#if defined ( __ICCARM__ ) && (__VER__ >= 8010001)
#define _TIMESPEC_DEFINED
#endif

#ifndef _TIMESPEC_DEFINED
#define _TIMESPEC_DEFINED
/*
* Structure defined by POSIX.1b to be like a timeval.
*/
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* and nanoseconds */
};
#endif /* _TIMESPEC_DEFINED */

IAR8.1以后自带了timespec结构体类型的定义,所以通过宏定义在使用IAR8.1时禁用rtt里面的定义。
word天
word天 2019-06-12
在rtconfig.py中正确填写iar的路径后会根据版本号自动处理相关宏

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友