A collection of C/C++ source code libraries for cross-platform embedded and PC-based software development.
GitHub source code repositories categorized by library type.
| Repository | Language | Description |
|---|---|---|
| C_StateMachine | C | C-language state machine. |
| StateMachine | C++ | Object-oriented state machine. |
| Repository | Language | Description |
|---|---|---|
| C_StateMachineWithThreads | C | C-language state machine with threads. |
| StateMachineWithThreads | C++ | C++ state machine with std::thread. |
| StateMachineWithModernDelegates | C++ | C++ state machine with C++ delegates. |
| AsyncStateMachine | C++ | Asynchronous C++ state machine implemented using C++ delegates. |
| Repository | Language | Description |
|---|---|---|
| StdWorkerThread | C++ | C++ std::thread event loop with message queue and timer. |
| ThreadWin | C++ | Win32 CreateThread() C++ wrapper with synchronized thread startup. |
| Repository | Language | Description |
|---|---|---|
| C_Allocator | C | C-language fixed-block memory allocator. |
| Allocator | C++ | C++ fixed-block memory allocator. |
| xallocator | C++ | A fixed-block allocator malloc/free replacement. |
| stl_allocator | C++ | A std::allocator compatible fixed-block memory allocator for the C++ Standard Library. |
| pmr_allocator | C++ | A C++ Polymorphic Memory Resource (PMR) fixed-block memory allocator. |
| Repository | Language | Description |
|---|---|---|
| MulticastCallback | C | Type-safe multicast callbacks in C. |
| C_AsyncCallback | C | Asynchronous callbacks in C. |
| AsyncCallback | C++ | Asynchronous callbacks in C++. |
| DelegateMQ | C++ | Invoke any callable synchronously or asynchronously using C++ delegates. |
| Repository | Language | Description |
|---|---|---|
| SimpleSocketProtocol | C | A C-language socket-based communication transport protocol for Windows, Linux, Arduino and embedded systems. |
| DelegateMQ | C++ | Invoke any remote function located in a separate process or processor using C++ delegates. |
| Repository | Language | Description |
|---|---|---|
| MessageSerialize | C++ | C++ object binary serialize and deserialize. |
| Repository | Language | Description |
|---|---|---|
| CoreDump | C | Universal embedded systems core dump framework. |
| Repository | Language | Description |
|---|---|---|
| IntegrationTestFramework | C++ | Integration test framework using Google Test and C++ delegates. |
| IntegrationTestFrameworkCppUTest | C++ | Integration test framework using CppUTest and C++ delegates. |
| IntegrationTestFrameworkDoctest | C++ | Integration test framework using doctest and C++ delegates. |
| Repository | Language | Description |
|---|---|---|
| OBDII-Adapter-Software | C | OBDII adapter source code and schematic for automotive diagnostic vehicle communication. |
| Async-SQLite | C++ | Asynchronous SQLite API using C++ delegates. |
The current C++ delegate implementation is DelegateMQ. The following delegate-related repositories offer prior implementations.
| Repository | Language | Description |
|---|---|---|
| AsyncMulticastDelegateCpp17 | C++ | C++ delegates using C++17. |
| AsyncMulticastDelegateCpp11 | C++ | C++ delegates using C++11. |
| AsyncMulticastDelegate | C++ | C++ delegates using C++03. |
All libraries are licensed under the MIT License.