Bindgen.NET
1.0.0
Trabalho em andamento
Faça o download do pacote NUGET.
dotnet add package Bindgen.NET --version *-*É necessário um ID de tempo de execução para resolver as dependências nativas de Clangsharp. Seu arquivo de projeto deve ficar assim.
< 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 suas opções de encadernação e gerar!
Exemplo:
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 ) ;Um exemplo executável pode ser encontrado aqui.
Um exemplo básico de ligações geradas pode ser encontrado aqui.
Um exemplo do mundo real de ligações geradas pode ser visto no repositório FLECS.NET aqui.