This option tells the compiler to generate code such that references to
statically assigned addresses can be patched with arbitrary 64-bit addresses.
Normally, the Windows* system compiler that runs on Intel® 64 architecture
uses 32-bit relative addressing to reference statically allocated code and
data. That assumes the code or data is within 2GB of the access point, an
assumption that is enforced by the Windows object format.
However, in some patching systems, it is useful to have the ability to
replace a global address with some other arbitrary 64-bit address, one that
might not be within 2GB of the access point.
This option causes the compiler to avoid 32-bit relative addressing in
favor of 64-bit direct addressing so that the addresses can be patched in place
without additional code modifications. This option causes code size to
increase, and since 32-bit relative addressing is usually more efficient than
64-bit direct addressing, you may see a performance impact.