Sunday, 15 September 2013

c++ - Migrating from 64 bit to 32 bit -



c++ - Migrating from 64 bit to 32 bit -

i have project working on 64 bit architecture. wish migrate 32 bit system. makes utilize of int64 pointer manipulations. changes should create current scheme ? examples explaining possible general changes required helpful. ps: while running code throws error "invalid address specified rtlvalidateheap( 004f0000, 02a90eb8 )" , "critical error detected c0000374". googled both errors couldn't find workaround.

some things maintain in mind when migrating x64 application 1 bitness 1 (windows platform)

check every sizeof() assuming pointer size 8

pointer = (int64) (other_pointer + sizeof(val));

if utilize gui toolkits straight manipulating windows handles (e.g. mfc) maintain in mind hwnd , other internal pointers utilize smaller size when running on 32 bit scheme (or emulation syswow - windows on windows)

watch out #ifdef _win64 macro spots

inline assembly bad portability, intrinsics platform-specific

32 bit apps link against 32 bit libraries of course, check dependencies

finally if target environment x86_64 maintain in mind on windows there might different regarding how 32-bit apps virtualized regarding filesystem , registry writing (they have dedicated subplaces).

good luck.

c++ migration 64bit 32bit-64bit

No comments:

Post a Comment