可以在裸机环境(无操作系统)中使用 SDL2 运行 的 C 程序吗?

Can a C program that uses SDL2 run in a bare metal environment (no Operating system)?

所以我正在尝试设计一个程序,它接受一个 JSON 文件,解析它,然后在触摸屏上创建一个显示。到目前为止,我已经编写了一个程序,它使用 Visual Studio、cJSON 和 SDL2 几乎完成了这些工作。但是,该程序旨在 运行 在裸机 STM 微控制器评估板上。 SDL 库中是否有任何依赖于 Windows 的内容,或者程序 运行 在裸机环境中是否相同?

SDL 存在于许多平台中(Windows、Linux、AmigaOS 和 Nintendo DS、BeOS、Android,可能还有其他平台)

但它依赖于操作系统/硬件功能来创建显示和声音,并获取输入。

如果您的微控制器没有OS,SDL 无法轻松移植到它。因此,您要么在您的平台上找到特定版本的 SDL,要么必须自己移植它,这似乎不是小菜一碟。此外,您可能需要 5% 的 SDL 功能,何必呢?

另一种解决方案是在没有 SDL 的情况下使用微控制器的裸机 video/input 功能编写您的应用程序。它不需要是可移植的,并且您可以节省尝试为您的系统移植一个简单​​应用程序的抽象层的时间。