Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
smourier committed Jul 26, 2024
2 parents d91188f + aaad82e commit c883593
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ Or you can pick the C# source files you want (among the 10000 .cs provided ...).
## AOT support
Since DirectN is compatible with .NET Framework and older C# versions and constructs, marshalling is provided by the CLR (it's "built-in"), so it's not compatible with [Native AOT Deployment](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows).

However, a .NET 8+ project has been started here [DirectNAot](https://github.com/smourier/DirectNAot) which builds AOT-compatible DirectN code. This code will not be 100% source compatible with DirectN but its code generator named [Win32InteropBuilder](https://github.com/smourier/Win32InteropBuilder) is now provided as open source (based on [win32metadata](https://github.com/microsoft/win32metadata) project). Work is in progress, stay tuned!
However, a .NET 8+ project has been started here [DirectNAot](https://github.com/smourier/DirectNAot) which builds AOT-compatible DirectN code. This code will not be 100% source compatible with DirectN but its code generator named [Win32InteropBuilder](https://github.com/smourier/Win32InteropBuilder) is now provided as open source (based on [win32metadata](https://github.com/microsoft/win32metadata) project).

⚡️⚡️ Most of DirectN for .NET Core evolutions will happen in this AOT project. DirectN still exists as is, mostly for .NET Framework support.
Work is in progress, stay tuned!

## Same names and types than the native concepts!
DirectN allows you to port C/C++ code to C#, or to write C# code from scratch, probably more easily than with other existing interop libraries in this domain because one of its main objective is to use exactly the **same names and types than the native concepts** (interfaces, enums, structures, constants, methods, arguments, guids, etc.) . So you can read the official documentation, use existing C/C++ samples, and start coding with .NET right away.
Expand Down

0 comments on commit c883593

Please sign in to comment.