Skip to content

A framework for automatically generating binding wrappers for C/C++ libraries

License

Notifications You must be signed in to change notification settings

PathogenGymnasium/Biohazrd

 
 

Repository files navigation

Biohazrd

MIT Licensed CI Status Sponsor

Biohazrd is a framework for creating binding generators for C and C++ libraries. It aims to lower the amount of ongoing boilerplate maintenance required to use native libraries from .NET as well as allow direct interoperation with C++ libraries without a C translation later.

Biohazrd is still under heavy development, documentation and API stability are non-existent. If you're interested in this project, consider sponsoring development.

Interested in seeing it used? Check out InfectedImGui or InfectedPhysX.

We also have peliminary documentation available in the docs folder.

License

This project is licensed under the MIT License. See the license file for details.

Additionally, this project has some third-party dependencies. See the third-party notice listing for details.

Quick Overview

For the brave, here's a quick overview of the individual components of this repository:

Project Description
Biohazrd The core of Biohazrd. This is the code is primarily responsible for parsing the Cursor tree of libclang` and translating it into a simplified model that's easier to work with.
Biohazrd.Transformation Infrastructure for transforming the immutable object model output by the core. (As well as a some common transformations you might need)
Biohazrd.OutputGeneration Infrastructure for emitting code based on the Biohazrd object model.
Biohazrd.CSharp Transformations, output generation, and other infrastructure for supporting emitting a C# interop layer.

About

A framework for automatically generating binding wrappers for C/C++ libraries

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.2%
  • Other 0.8%