How can I check whether my app is compiled in 32-bit or 64-bit ?
This is helpful to debug low level code (working with buffers for example).
How can I check whether my app is compiled in 32-bit or 64-bit ?
This is helpful to debug low level code (working with buffers for example).
A compile time check would involve #ifdef
'ing for __LP64__
, which is ARM's data type size standard. A runtime solution would involve checking the size of pointers, like so:
if (sizeof(void*) == 4) {
// Executing in a 32-bit environment
} else if (sizeof(void*) == 8) {
// Executing in a 64-bit environment
}
Thankfully, pointer sizes are the one thing that the different standards for compiling 64-bit code seem to agree on.
You could check the size of a pointer. I think on 32bit it is 4bytes and on 64 it should be 8.
if( sizeof(void*) == 4 ) then 32bit else 64bit