rt-thread/components/libc/compilers
Meco Man bd33d37bc4 该问题在Keil-MDK中没有一个太好的解决方案。本PR为权衡利弊之后得到的一套解决方案。Keil曾经提供了底层桩函数_sys_ensure,但是目前已经被废弃。因此唯一的解决方案就是每写完一句,就调用fsync去同步一次。
该问题在mbedos社区也进行过讨论,他们也面临和我们相同的两个问题:
1. Keil-MDK无有效的fflush解决方案,mbedos依然在使用淘汰的_sys_ensure桩函数。
2. Keil-MDK没有fileno函数,我方少部分软件包因此而无法使用Keil平台编译。
参考:https://github.com/ARMmbed/mbed-os/issues/1601

issue: https://github.com/RT-Thread/rt-thread/issues/4928


经过进一步测试发现,Keil-MDK中的fflush函数已经退化成服务于STDOUT的函数,Keil-MDK内部有一个buffer可以存放fputc(stdout) 发过来的数据,如果调用fflush,这些数据是可以flush出去的。但是如果是真正的文件数据,fflush函数并没有提供任何桩函数接口可以让文件flush数据出去。
2022-08-16 09:37:24 +08:00
..
armlibc 该问题在Keil-MDK中没有一个太好的解决方案。本PR为权衡利弊之后得到的一套解决方案。Keil曾经提供了底层桩函数_sys_ensure,但是目前已经被废弃。因此唯一的解决方案就是每写完一句,就调用fsync去同步一次。 2022-08-16 09:37:24 +08:00
common [exit] 修复_exit函数条件分支未覆盖所有情况的问题 (#6239) 2022-08-08 17:21:29 +08:00
dlib [Scons][iar][iccarm] IAR统一使用iccarm作为判断条件而不是是用IDE的名字来进行判断 2022-06-09 07:01:59 +08:00
newlib [libc][newlib] format (#6104) 2022-06-23 14:38:26 +08:00
SConscript [libc] Build correct SConscript file. 2017-10-13 12:44:54 +08:00
readme.md [libc][posix] add readme 2021-11-08 14:15:56 -05:00

readme.md

This folder provides uniformed header files crossing different compiler platforms, and supports basic standard C library functions, such as memory management and time management, etc.