quite a bit of changes to go in before it runs as a 64 bit executable.
for one ints are not the same size as on 32 bit same goes for unsigned

and its the same problem on windows.
one workaround to the int and unsigned problems is using intptr_t and unintptr_t (not sure if ms has something equivalent but on mingw64 thats mostly the way).
several other things i believe both mh and spike commented on this in some other thread.