ClangSharp
ClangSharp copied to clipboard
Clang bindings for .NET written in C#
Void pointer artihmetic throws an error: ```cpp void *cpy(void *dest, const void *src, size_t n); static bool exec(void *buf, size_t size, void *info, size_t size2) { memcpy(buf + size *...
I'm trying to generate pinvoke wrappers for poppler cpp header files on ubuntu. You can see the code for those those headers here https://gitlab.freedesktop.org/poppler/poppler/-/blob/master/cpp/poppler-font.h Poppler is installed on my system...
C code: ```c extFloat80_t extF80_add( extFloat80_t a, extFloat80_t b ) { union { struct extFloat80M s; extFloat80_t f; } uA; ... ``` The generated C# code: ```cs [return: NativeTypeName("extFloat80_t")] public...
I'm traversing Include\10.0.19041.0\um\minidumpapiset.h, and in it I see: ````C #include ```` Some emitted structs have Pack = 4 and some don't like the two below. ````C# [StructLayout(LayoutKind.Sequential, Pack = 4)]...
This PR adds remapped operator names for the copy, move and dereference operators. Previously this would have produced invalid C# code (e.g. `public unsafe void operator=(`. Unfortunately I could not...
Constructors were supported when they had bodies and were generated as actual C# constructors, but trying to import them produced invalid C#, e.g: ```csharp public partial struct MyStruct { [DllImport("",...
Right now, a full path to each header file is used for NativeTypeName in generated files. This makes it so generating in CI or across different dev systems has different...
Clang supports Objective-C and having the ability to generate code for it would be useful for many Apple-centric interop scenarios. ## __Work items__ - [ ] Support `@protocol`s [current] -...
Repro header: ```cpp struct TestInterface_; struct MyStruct_; #ifdef __cplusplus typedef MyStruct_ MyStruct; #endif struct TestInterface_ { int (__stdcall *TestMethod)(MyStruct *vm); }; struct MyStruct_ { const struct TestInterface_ *functions; #ifdef __cplusplus...