Do not do it - use the standard types, such as int32_t, uint32_t, int64_t, uint64_tetc. <stdint.h>, instead of trying to make assumptions about bare types, such as long intor trying to bend the compiler as you wish.
Note. The 64-bit model for any given platform (for example, LP64 for most * nix platforms, Mac OS X, etc.) is predefined, so even if you can convince the compiler to use another 64-bit model, you will probably break any calls system code, libraries, etc.
source
share