{"repo":"HexaEngine/HexaGen","free":true,"listed":false,"github":"https://github.com/HexaEngine/HexaGen","clone":"git clone https://github.com/HexaEngine/HexaGen.git","description":"A code generator for generating bindings for C# for C and COM libraries","language":"C++","stars":69,"topics":["code-generation","codegenerator","csharp","native","wrapper"],"license":"MIT","category":"dev-tools","readme_excerpt":"HexaGen HexaGen is a comprehensive code generation toolkit for C# and C++ projects. It uses HexaGen.CppAst to parse C/C++ headers and automatically generates C# bindings and wrappers. HexaGen simplifies the process of integrating native libraries with C# applications by automating the creation of interop code. :sparkles: Features - C# Bindings for C Libraries: Automatically generate C# bindings from C headers with support for functions, structs, enums, and callbacks - C# Bindings for COM Libraries: Create C# bindings for COM interfaces and objects - C++ to C Wrappers: Generate C wrappers around C++ libraries to facilitate C interop - Flexible Configuration: JSON-based configuration system with inheritance and composition support - Advanced Function Generation: Multiple parameter handling strategies including spans, refs, delegates, and default values - Type Mapping: Configurable type mappings and conversions - Extension Methods: Generate extension methods for improved API ergonomics - Constants to Enums: Convert C preprocessor constants to strongly-typed C# enums :file folder: Project Structure - HexaGen - Main code generation tool and CLI - HexaGen.Core - Core functionality and utilities for code generation - HexaGen.Cpp2C - C++ to C wrapper generator - HexaGen.Runtime - Runtime support library for generated code (multi-target: .NET 9/8/7/6, .NET Standard 2.0/2.1, .NET Framework 4.7.2, Android) - HexaGen.Runtime.COM - Runtime support for COM interop (multi-target: .NET 9/8/7","default_branch":null,"files":null,"tree":[],"storefront":"/r/HexaEngine","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/HexaEngine/HexaGen/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}