Re: In memory layout of the C++ program
- From: "Scott McPhillips [MVP]" <org-dot-mvps-at-scottmcp>
- Date: Thu, 05 May 2005 18:14:31 -0500
DeltaOne wrote:
To Mark Randall::First of all thanks for replying . Well i wann to know
the virtual memory layout of the code. and about the assembly code
suppose i have a assembly code i wann to convert it into the exe fileI
wann to know how this can happen. As far as i know the the pointer
addres that we mention in the C++ program are the virtual address. like
suppose i say int i;int* i_ptr=&i;Here &i returns the virtual address of "i" in the
code. But if u compile this program and get the ASM file you can see
the registers. I dont think the assembly code in the ASM file specifies
the virrtual address. So perhaps for paging the ASM code is converted to
EXE file. I am not sure if this is what happens. I want to know if it is
true. And the stack is not like this as you have mentioned. [Function 1
Vars] [Stack Pointer] [Function 2 Vars] [Stack Pointer] [Function 3
Vars] [Stack Pointer] But as far as i know it is like first the invironment varriables are
pushed into the stack. then the global values and then the main and
other functions. Well main is replaced by other functions which are
found in the crt0.cpp file. And the stack pointers you have mentioned, are they storing the virtual
address or the physical address?
If my grammer is poor sorry.
All addresses in a Windows application program and exe file are virtual addresses. All - it does not matter whether they are ASM, or registers, or stack. There are no physical addresses available to the program.
There are no functions or global values on the stack. Wherever you learned this is incorrect.
-- Scott McPhillips [VC++ MVP]
.
- References:
- In memory layout of the C++ program
- From: DeltaOne
- In memory layout of the C++ program
- Prev by Date: Re: string to int
- Next by Date: Re: string to int
- Previous by thread: In memory layout of the C++ program
- Next by thread: start off with port progarmming ....
- Index(es):
Relevant Pages
|