Re: In memory layout of the C++ program

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



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]

.



Relevant Pages

  • To mark randall
    ... Well i wann to know ... suppose i hav e a assembly code i wann to convert it into the exe fileI ... ASM file you can see the registers. ... And the stack is not like this ...
    (microsoft.public.vc.language)
  • Re: question regarding stack size allocation
    ... >> assembly code produced by gcc. ... >> trying to figure out how the stack pointer increments ... C guarantees that members of a struct are in declared order; padding ...
    (comp.lang.asm.x86)
  • Re: Question about function call in a microprocessor?
    ... > or subroutine call in a assembly code. ... > about the stack here. ... > foo uses lets says 5 local varaibles. ... compiler and look at the output listing. ...
    (sci.electronics.design)
  • In memory layout of the C++ program
    ... Well i wann to know ... suppose i have a assembly code i wann to convert it into the exe fileI ... But if u compile this program and get the ASM file you can see ... Vars] [Stack Pointer] ...
    (microsoft.public.vc.language)
  • Re: Renaissance of Forth
    ... visibility of Forth's stack and the grammar didn't appear to have any ... When writing assembly code to work with any language (Forth, C, ... assembly code definitions in Forth therefore required the programmer ...
    (comp.lang.forth)