搜索
bottom↓
回复: 6

time.h文件中的time()不能在keil5里直接使用

[复制链接]

出0入4汤圆

发表于 2020-3-18 16:10:16 | 显示全部楼层 |阅读模式
最近几天一直被一个问题困扰,想通过time.h中的time()函数获取时间,extern _ARMABI time_t time(time_t *  /*timer*/);  但是一直会报错:..\..\Output\Template.axf: Error: L6218E: Undefined symbol time (referred from main.o).keil认为此函数未定义,但是使用该文件中另外一个函数:extern _ARMABI double difftime(time_t /*time1*/, time_t /*time0*/); 则可以编译通过,并且还有数据返回。经过这几天的搜索,keil是通过microLIB对标准C语言库进行解析的,故而又对microLIB进行了搜索发现,此库不支持time函数。故而认为,keil无法使用time()函数(再不对其进行重新定义的情况下),不知此结论是否正确,或者是否通过IAR或者其他编译器能够直接使用此函数。此处贴出本论坛另外一个帖子,是通过重塑time()函数实现的。https://www.amobbs.com/thread-5615092-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出30入54汤圆

发表于 2020-3-18 16:44:12 | 显示全部楼层
裸系统基本上都不会支持time函数的,因为SOC根本不知道现在是几点,真的想要知道几点必须要有一个RTC或者等价的设备,就好像printf单片机不知道该输出到哪里去一样
反过来,difftime是计算两个时间差的,和真实时间没关系,当然是实现的

出0入0汤圆

发表于 2020-3-18 16:45:14 | 显示全部楼层
microlib被裁剪了,这是为了编译出来的代码体积最小考虑的。因此只能自己实现了。

出0入4汤圆

 楼主| 发表于 2020-3-18 17:00:27 | 显示全部楼层
vows 发表于 2020-3-18 16:45
microlib被裁剪了,这是为了编译出来的代码体积最小考虑的。因此只能自己实现了。 ...

只是不理解,既然不实现,干嘛还把它写在文件里面

出0入4汤圆

 楼主| 发表于 2020-3-18 17:01:09 | 显示全部楼层
cloudboy 发表于 2020-3-18 16:44
裸系统基本上都不会支持time函数的,因为SOC根本不知道现在是几点,真的想要知道几点必须要有一个RTC或者等 ...

这样的解释,就很能说通了

出0入442汤圆

发表于 2020-3-19 07:26:58 来自手机 | 显示全部楼层
cloudboy 发表于 2020-3-18 16:44
裸系统基本上都不会支持time函数的,因为SOC根本不知道现在是几点,真的想要知道几点必须要有一个RTC或者等 ...

提到rtc就不得不提时钟漂移了哈哈。上周折腾stm32,rtc搞了半天,用的内部40khz,貌似stm32没有校准啊(我外部要是给2hz还用内部rc干吗?),现实中的3秒它能走4秒还多。。

出0入85汤圆

发表于 2020-3-19 08:25:22 来自手机 | 显示全部楼层
本帖最后由 Huaan 于 2020-3-19 08:31 编辑

IAR上可以用localtime,time()没试过
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 02:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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