newlib 是一个 C 库,经常用于嵌入式的开发中。有大佬把 newlib (4.3.0) 移植到了 switch 的自制开发环境中,这是前情。
最近发现我写的一个程序使用大佬最新的 newlib (4.3.0) 依赖编译,会出现随机的蓝屏。通过查看,发现是视频播放器( libmpv )会调用 vsnprintf ,这个函数多线程调用运行不稳定。
同时通过编写示例代码,发现不仅仅是 vsnprintf ,vsprintf 、sprintf 、snprintf 在使用的时候都会出现这样的问题。
因为这个在老版本没有问题,新版本出了问题,所以我推测可能是大佬最新版 (4.3.0) 修改版哪里没改好出的问题。
给大佬提了issue (devkitPro/newlib/issues/27),能看到大佬最近在写别的,没理我,我也没好意思继续追问(卑微~)。
想问问有 newlib 使用经验的兄弟们:
1
ysc3839 2023-06-17 03:12:02 +08:00 via Android
cygwin 也用的是 newlib ,并没有这种问题,所以应该是别的地方的问题
|
2
t123yh 2023-06-17 08:22:54 +08:00
可以参考一下 FreeRTOS 的 configUSE_NEWLIB_REENTRANT 选项
|