12 Repos
Conditionally includes or excludes standard library support for diverse environments.
Distinct from Platform Support: Distinct from Platform Support: focuses on the standard library inclusion toggle rather than general platform compatibility.
Explore 12 awesome GitHub repositories matching operating systems & systems programming · Environment Support Managers. Refine with filters or upvote what's useful.
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f
Enables code to run in both resource-constrained and full-featured environments by toggling standard library support.
This project is a framework for the efficient serialization and deserialization of data structures. It provides a unified, macro-based interface that automates the conversion of complex internal objects into standardized formats and reconstructs them from raw input streams or buffers. By leveraging compile-time code generation, the library minimizes manual implementation overhead while ensuring consistent logic across diverse data types. The framework distinguishes itself through a format-agnostic data model and a visitor-based parsing architecture that decouples data structures from specific
Operates in environments without a standard library by disabling default features.
This project is a collection of techniques and configurations for reducing the disk footprint of compiled Rust executables. It serves as a guide and toolset for binary size optimization, providing strategies to minimize the final executable size through compiler flags and configuration. The project focuses on aggressive size reduction strategies, including recompiling the standard library from source to prune unused functions and implementing no-standard-library modes for memory-constrained environments. It details how to eliminate runtime overhead by removing standard library entry points an
Guides the creation of lightweight runtimes by removing standard library dependencies for memory-constrained environments.
This project is a structured tracing framework for Rust that serves as an async-aware instrumentation library and telemetry data collector. It provides a structured logging facade and the tools necessary to record, filter, and route event-based diagnostic data from both standard applications and embedded systems. The framework distinguishes itself through a core implementation that supports bare-metal and no-standard-library environments without requiring a dynamic memory allocator. It specifically handles the complexities of asynchronous workflows by propagating diagnostic contexts across fu
Decouples the instrumentation API from the standard library to support bare-metal and embedded environments.
Zero-cost asynchronous programming in Rust
Operates in bare-metal environments by disabling default features and using only the core API surface.
nalgebra ist eine Bibliothek für lineare Algebra für Rust, die Matrix- und Vektoroperationen mit Unterstützung für Dimensionen zur Kompilier- und Laufzeit bietet. Sie fungiert als Bibliothek für numerische Analysen und dünnbesetzte Matrizen (Sparse Matrices) und bietet ein mathematisches Framework, das in eingebetteten Umgebungen und WebAssembly ohne die Rust-Standardbibliothek ausgeführt werden kann. Das Projekt zeichnet sich als Bibliothek für geometrische Transformationen aus und nutzt homogene Koordinaten, Quaternionen und Isometrien, um 3D-Rotationen, Translationen und Projektionen zu handhaben. Es implementiert eine Vielzahl von Matrix-Zerlegungen – einschließlich LU, QR, Cholesky, SVD und Eigenwertzerlegung –, um lineare Systeme zu lösen und Matrizen zu analysieren. Die Bibliothek deckt breite Funktionsbereiche ab, darunter geometrisches Rechnen für räumliche Transformationen, Computergrafik-Dienstprogramme für die Komposition von Projektionsmatrizen und den Export von Shader-Daten sowie spezialisierte Verwaltung dünnbesetzter Matrizen mittels komprimierter Zeilen- und Spaltenspeicherung. Sie bietet zudem Datenverwaltungstools für die Matrix-Initialisierung, Größenänderung und das Parsen von Matrix-Market-Dateien.
Offers a mathematical framework specifically designed to run in WebAssembly and embedded environments without the standard library.
Prost ist eine Protocol-Buffers-Implementierung für Rust, die als binäres Serialisierungs-Framework und Codegenerator fungiert. Sie übersetzt Schemadefinitionen in idiomatische Rust-Structs und -Enums und bietet die Logik, die erforderlich ist, um strukturierte Daten in das binäre Protocol-Buffers-Format zu kodieren und zu dekodieren. Das Projekt zeichnet sich durch eine no-std-Implementierung aus, die es ermöglicht, in eingebetteten oder Kernel-Umgebungen zu operieren, denen eine Standardbibliothek fehlt. Es dient zudem als Schema-Introspektor durch das Ausgeben von File-Descriptor-Sets, was die programmatische Analyse ursprünglicher Schemadefinitionen zur Laufzeit ermöglicht. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich Service-Trait-Generierung für Schnittstellenmodellierung, Unterstützung für bekannte Typen und prozedurale Makro-Annotationen für das Mapping manueller Typdefinitionen. Sie bietet zudem Tools für Abhängigkeitsmanagement und Fuzz-Testing, um Serialisierungsstabilität zu gewährleisten.
Implements compatibility for environments without a standard library, enabling use in embedded or kernel contexts.
Chumsky ist eine Parser-Kombinator-Bibliothek, die verwendet wird, um Hochleistungs-Parser durch die Komposition kleiner Parsing-Funktionen zu komplexen Grammatiken aufzubauen. Sie bietet mehrere Parsing-Engines, einschließlich rekursiver Abstieg- und Precedence-Climbing-Implementierungen zur Auflösung der Reihenfolge von Operationen in mathematischen und logischen Ausdrücken. Die Bibliothek zeichnet sich durch ihr Zero-Copy-Text-Parsing aus, das Speicherallokationen minimiert, um den Durchsatz zu erhöhen, sowie durch ihre Fähigkeit, ohne Standardbibliothek für den Einsatz in eingebetteten oder ressourcenbeschränkten Umgebungen zu laufen. Sie verfügt zudem über einen fehlerkorrigierenden Parser, der fehlerhafte Eingaben identifiziert und die Verarbeitung fortsetzt, um mehrere Syntaxfehler in einem einzigen Durchgang zu melden. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich kontextsensitivem Zustandsmanagement, Unterstützung für rekursive Grammatiken und die Integration von Mustern regulärer Ausdrücke. Es enthält Tools für die Parser-Strukturanalyse, Knoteninspektion und Result-Caching zur Unterstützung von Backtracking und Linksrekursion. Die Bibliothek unterstützt die Entwicklung benutzerdefinierter Sprachen, das Parsen von Datenformaten und Programmiersprachen-Tooling.
Offers compatibility for environments without a standard library, enabling high-performance parsing in restricted or embedded systems.
smoltcp ist ein TCP/IP-Stack und eine Netzwerkprotokoll-Implementierung, die für ressourcenbeschränkte Umgebungen und Bare-Metal-Hardware entwickelt wurde. Er bietet eine Reihe von Socket-Interfaces für das Management zuverlässiger TCP-Stream-Verbindungen und verbindungsloser UDP-Datagramme, ohne auf eine Standardbibliothek angewiesen zu sein. Das Projekt nutzt ein festes Speicherlayout und statische Speicherallokation, um den Netzwerkzustand zu verwalten und Pakete ohne dynamischen Speicherallokator zu verarbeiten. Es enthält spezialisierte Funktionen für stromsparende drahtlose Netzwerke, wie Header-Kompression und Fragmentierung für 6LoWPAN. Der Stack deckt die Data-Link-, Netzwerk- und Transportschicht ab, einschließlich Ethernet-Frame-Management, IPv4- und IPv6-Routing sowie ICMP-Nachrichtenverarbeitung. Er implementiert zudem DNS-Abfrageauflösung und IPv4-Multicast-Management via IGMP.
Provides a network stack written for environments without a standard library using fixed memory layouts.
tinyobjloader is a header-only C++ library for parsing Wavefront OBJ and MTL files. It extracts 3D mesh geometry, shape topology, and material definitions into memory, supporting the conversion of formatted text strings or files into vertex, normal, and texture coordinate data structures. The library provides a triangulation pipeline that converts complex, multi-vertex polygons into triangles using 2D projection and ear-clipping algorithms. It supports physically based rendering setups by extracting PBR material parameters and texture maps from material library files. To handle large dataset
Enables geometry loading in restricted environments by removing standard library dependencies via custom allocators.
Embedded-hal is a hardware abstraction layer for embedded microcontrollers that defines common traits allowing peripheral drivers to remain entirely independent of specific hardware platforms. The library provides platform-agnostic interfaces that decouple driver logic from microcontroller architectures, utilizing zero-cost trait abstractions that compile down to direct hardware register manipulations without runtime overhead or memory allocation. The project features asynchronous execution support and synchronous-to-asynchronous adaptation, enabling non-blocking peripheral operations and coo
Provides custom input and output traits tailored for bare-metal and resource-constrained environments.
This project provides a lightweight logging facade for Rust applications, serving as a standardized interface for recording diagnostic messages. By decoupling application code from specific logging backends, it allows developers to maintain a consistent diagnostic surface while remaining independent of the underlying implementation. The framework enables the attachment of structured key-value metadata to log records, providing additional context that facilitates more granular filtering and analysis of application events. Its core design is built to be minimal, ensuring compatibility with reso
Operates in restricted environments without standard library dependencies using alternative synchronization mechanisms.