From: glitteringsounds on
Hello

Can any body tell in detail what is relative virtual addressing and
all its basics?
Why virtual addressing is needed? How RVA invlolves in execution of PE
files(EXEs,DLLs and so on..)

Regards
Muhammad Usman Khalil
From: nico on
glitteringsounds wrote:
> Hello
>
> Can any body tell in detail what is relative virtual addressing and
> all its basics?
> Why virtual addressing is needed? How RVA invlolves in execution of PE
> files(EXEs,DLLs and so on..)

It's explained in old MSDN articles like
http://msdn.microsoft.com/en-us/magazine/cc301808.aspx
From: ScottMcP [MVP] on
On Feb 2, 2:52 am, glitteringsounds <muhammadusman.kha...(a)gmail.com>
wrote:
> Hello
>
> Can any body tell in detail what is relative virtual addressing and
> all its basics?
> Why virtual addressing is needed? How RVA invlolves in execution of PE
> files(EXEs,DLLs and so on..)
>
> Regards
> Muhammad Usman Khalil

Virtual addressing is needed because the programs that are running
usually use more memory than a PC has. Virtual memory gives 2 GBytes
of memory space to each program. If there are 10 programs running
this adds up to 20 GBytes! But the PC does not have 20 GBytes.
Virtual memory is a way to share the available physical memory between
many programs.

An RVA is simply the difference between two addresses. Also commonly
called an offset. The loader decides where to load an EXE or DLL, and
adds this base address to all (relative) addresses in the PE file.



 | 
Pages: 1
Prev: Poco VS Boost
Next: temp and preferences paths