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