On Sunday, 26 April 2015 at 15:49:46 UTC, extrawurst wrote:
I hope someone can tell me where my bug is.
I am linking to a dynamic library with C++ interfaces:

```
//alias S = ulong;
struct S
{
  ulong data;
}

extern(C) I getI();

extern(C++) interface I
{
  void foo();
  S bar();
}
```

now the question is why does it crash to access bar() in both cases? (using alias aswell as the struct) The C++ class S is a POD class (it contains only 64bits of data and is compiled byte aligned) The call to bar() from D just crashes on win32, the interface works fine on osx 64bit. Any help would be welcome! Is this even possible to solve ? I have no access to the library code so I am not able to build the C++ lib with like DMC or something...

Long always 64 bit in D but varies with architecture in C. See here:
http://wiki.dlang.org/Converting_C_.h_Files_to_D_Modules

Core.stdc.config has alias for the C type that you can use in place of long.

Reply via email to