First working Win64 program!
    David Nadlinger 
    see at klickverbot.at
       
    Wed Aug 15 06:05:06 PDT 2012
    
    
  
On Wednesday, 15 August 2012 at 11:15:35 UTC, Paulo Pinto wrote:
> Does this not required that the D and C compiler are in sync 
> about data layout?
>
> Small sizes structs are often kept in registers.
Yes, extern(C) is intended to be fully ABI-compatible with the 
respective C ABI on the host system. On *nix systems, this means 
that the System V AMD64 ABI is followed for parameter passing. 
The DMD implementation of it, however, still has bugs in the 
cases mentioned above, as the register assignment scheme is 
difficult to implement in Walter's backend. The current state 
_is_ self-consistent, though, so the problems only surface when 
interfacing with C code.
David
    
    
More information about the Digitalmars-d-announce
mailing list