我正在寻找一些东西来抽象 C/C++ 中的标准操作系统功能:跨越/杀死线程、发送/接收消息、启动/停止计时器,甚至可能是内存管理,尽管我自己可以用我的自己的缓冲池。
我希望能够在 Linux/windows 上开发和单元测试,然后为各种目标 O/Ses 重新编译 c/c++ 代码(对于嵌入式系统:eCos、FreeRTOS、VxWorks 等)
尽可能“轻”的东西是最好的,希望只是一个库,甚至是宏的集合。
我正在寻找一些东西来抽象 C/C++ 中的标准操作系统功能:跨越/杀死线程、发送/接收消息、启动/停止计时器,甚至可能是内存管理,尽管我自己可以用我的自己的缓冲池。
我希望能够在 Linux/windows 上开发和单元测试,然后为各种目标 O/Ses 重新编译 c/c++ 代码(对于嵌入式系统:eCos、FreeRTOS、VxWorks 等)
尽可能“轻”的东西是最好的,希望只是一个库,甚至是宏的集合。
你看过Boost 库吗?它具有线程、计时器、内存管理和信号库。
该库的下载量并不小,但大多数库组件都是仅包含头文件的实现(尽管 OS 抽象库往往必须链接),您只需要使用您需要的即可。
我保留了一个(长)OS Abstraction Libraries列表。希望能帮助到你。
为什么不直接调用POSIX函数(POSIX1 似乎满足了你的所有需求)并在不兼容的操作系统(被理解为 Microsoft Windows)之上安装一个 POSIX 层?
我认为 boost 值得研究;它可以为您提供操作系统抽象,还可以提供编译器独立性等等。当然,它确实需要 C++。其他选项:Posix。
在您的列表中:
eCos、VxWorks、Linux:良好的 posix 支持,因此您可以使用它。freertos:见链接
Windows 缺乏开箱即用的良好 posix 支持(请参阅维基百科 Posix)如果 cygwin 适合您,您可以适当地使用它。如果您需要与 Visual Studio 混合使用,像 boost 这样的库似乎更有趣(您可以从中抽象出来)