1 Repo
Defining memory layouts like packed structs to exchange complex data structures with native code.
Distinct from Native Data Interop: Focuses on the structural mapping of data layouts (structs/arrays) rather than general binary blob exchange.
Explore 1 awesome GitHub repository matching operating systems & systems programming · Data Layout Mapping. Refine with filters or upvote what's useful.
Janet ist eine Lisp-basierte dynamische Programmiersprache mit einer registerbasierten Bytecode-Virtual-Machine und einer einbettbaren Skript-Engine. Sie fungiert als Fiber-basierte Nebenläufigkeits-Runtime und enthält eine Parsing-Engine, die auf Parsing Expression Grammars basiert. Das Projekt zeichnet sich durch die Fähigkeit aus, über eine minimale Header-Schnittstelle in C- oder C++-Anwendungen integriert zu werden. Es nutzt ein Lisp-artiges Makrosystem für Code-Transformationen zur Kompilierzeit und verwendet prototypbasierte Tabellenvererbung für objektorientiertes Verhalten. Die Runtime deckt ein breites Spektrum an Funktionen ab, einschließlich asynchronem IO-Management durch eine nicht-blockierende Event-Loop, nativer Bibliotheksinteroperabilität über ein Foreign Function Interface und umfassender Textverarbeitung unter Verwendung von PEG-Grammatiken. Sie bietet zudem Tools für die Systemautomatisierung, wie eine Read-Eval-Print-Loop, ein Modulsystem für Symbolauflösung und Utilities für Netzwerk-Socket-Kommunikation und Dateisystemverwaltung. Die Umgebung enthält Diagnosetools für das Debugging der Bytecode-Ausführung und kann Quellcode in eigenständige binäre Executables bündeln.
Defines packed structs and arrays to ensure compatible data layout when exchanging complex structures with native code.