Bindgen.NET
1.0.0
Trabajo en progreso
Descargue el paquete Nuget.
dotnet add package Bindgen.NET --version *-*Se necesita una ID de tiempo de ejecución para resolver las dependencias nativas de CLANGSHARP. Su archivo de proyecto debe verse así.
< Project Sdk = " Microsoft.NET.Sdk " >
< PropertyGroup >
< OutputType >Exe</ OutputType >
< TargetFramework >net7.0</ TargetFramework >
<!-- This line is required -->
< RuntimeIdentifier Condition = " '$(RuntimeIdentifier)' == '' " >$(NETCoreSdkRuntimeIdentifier)</ RuntimeIdentifier >
</ PropertyGroup >
< ItemGroup >
< PackageReference Include = " Bindgen.NET " Version = " *-* " />
</ ItemGroup >
</ Project >¡Configure sus opciones de enlace y genere!
Ejemplo:
using Bindgen . NET ;
BindingOptions exampleConfig = new ( )
{
Namespace = "ExampleNamespace" ,
Class = "ExampleClass" ,
DllImportPath = "libexample" ,
// Pass raw source code instead
// TreatInputFileAsRawSourceCode = true,
InputFile = "path/header.h" ,
OutputFile = "path/Header.cs" ,
IncludeDirectories = { "path/include" } ,
SystemIncludeDirectories = { "path/include" } ,
GenerateFunctionPointers = true ,
GenerateMacros = true ,
GenerateStructEqualityFunctions = true
} ;
string output = BindingGenerator . Generate ( exampleConfig ) ;Se puede encontrar un ejemplo ejecutable aquí.
Aquí se puede encontrar un ejemplo básico de enlaces generados.
Un ejemplo del mundo real de enlaces generados se puede ver en el repositorio flecs.net aquí.