This would never work mainly because of memory management operations the OS uses swapping stuff in and out of memory. A good chunk of the translation from different memory addresses is done in hardware by the MMU. If you want to have shared memory between the applications you can do that lookup shmget() and shmat().