migrating to 64 bit

Stephen Jones siwenjo at gmail.com
Sat Dec 14 16:10:18 PST 2013


I have just moved to Windows 8.1 64bit. I copied the dmd compiler 
and environment I was using on the 32 bit XP and hooked up the 
environmental variables to see what would happen. When I come to 
compile and run one of the Derelict3 programs it compiles and 
runs ok (mouse isn't doing what it should but haven't looked into 
why yet). The SDL2 dlls, including the ttf and image dlls are 
from the 32 bit environment and they seem to be working (window, 
text and images at least) on the 64 bit os. I am just trying to 
get my head around this.

I would assume, and please tell me if I am wrong as that is the 
point of the post, that any D code will compile on any dmd 
compiler irrespective of whether 32 or 64 bit. But I would have 
thought the object files compiled would be different, assuming 
that the compiler knowing its environment stipulates in the 
object files what the linker needs to do. Or am I wrong on this, 
and that the object files will be identical but the linker sc.ini 
defines will make the difference. If this last is true there 
would be no need for something like the gcc -m32 flag as that 
would be handled by the linker chosen. If it is not true then is 
there a dmd flag to demand that the exe be 32 bit compatible?

Also, what is the deal with using dlls from a 32bit system on a 
64bit os; is this just backwards compatibility?

Any help or helpful links appreciated.


More information about the Digitalmars-d-learn mailing list