Is space for symbol table allocated from heap?

Discussion in 'C Programming' started by curious, Jan 11, 2006.

  1. curious

    curious Guest

    It will be great if some one can explain in detail about structure of
    process in memory...where is symbol table etc..located?
    curious, Jan 11, 2006
    #1
    1. Advertising

  2. >It will be great if some one can explain in detail about structure of
    >process in memory...where is symbol table etc..located?


    If the program is static-linked, who says the symbol table is
    anywhere in memory? If the program has been stripped, who says
    the symbol table exists at all?

    Gordon L. Burditt
    Gordon Burditt, Jan 11, 2006
    #2
    1. Advertising

  3. curious

    curious Guest

    So, can u please explain the concept of symbol table and when does it
    exist and where?
    curious, Jan 11, 2006
    #3
  4. curious

    Ico Guest

    curious <> wrote:
    > So, can u please explain the concept of symbol table and when does it
    > exist and where?


    1) Do some searching first (e.g. google), there is a *lot* of info available
    about this subject

    2) This is mostly off-topic. Please ask the question at an appropriate
    newsgroup or mailing list discussing your platform or compiler.


    --
    :wq
    ^X^Cy^K^X^C^C^C^C
    Ico, Jan 11, 2006
    #4
  5. In article <>,
    curious <> wrote:
    >It will be great if some one can explain in detail about structure of
    >process in memory...where is symbol table etc..located?


    That can vary between two different versions of the same compiler
    for the same system. There is no standard other than that which
    might happen to be imposed by a particular operating system.

    When symbol tables exist, they are usually not kept as part of the
    process: they are usually kept as part of the file that stores the
    executable. The structure of the files that store executables can
    vary from version to version of the same operating system. There is
    no one standard.

    There are a some on-disk symbol table formats that OS developers tend
    to implement so that they do not have to reinvent the functionality
    and to make it easier to borrow debuggers such as 'gdb'. One of those
    more common on-disk symbol table formats is known as "dwarf".

    There are some on-disk executable image formats that OS developers
    tend to implement so that they do not have to reinvent functionality
    and to make it easier to borrow debuggers and compilers. Some of
    the more common on-disk executable image formats are ELF and COFF.

    The format of a symbol table on-disk or of an executable image on-disk
    might be -very- different than the structure of an executing process.


    The entire concept of "symbol table" and "executable image" on-disk
    is outside of the C standard. For more information, you need to look
    at the documentation for particular systems you are interested in.
    --
    "law -- it's a commodity"
    -- Andrew Ryan (The Globe and Mail, 2005/11/26)
    Walter Roberson, Jan 11, 2006
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Shuo Xiang

    Stack space, global space, heap space

    Shuo Xiang, Jul 9, 2003, in forum: C Programming
    Replies:
    10
    Views:
    2,884
    Bryan Bullard
    Jul 11, 2003
  2. Christian Seberino
    Replies:
    21
    Views:
    1,649
    Stephen Horne
    Oct 27, 2003
  3. Ian Bicking
    Replies:
    2
    Views:
    1,006
    Steve Lamb
    Oct 23, 2003
  4. Ian Bicking
    Replies:
    2
    Views:
    717
    Michael Hudson
    Oct 24, 2003
  5. Ajay

    How to increase stack space/heap space

    Ajay, May 11, 2006, in forum: C Programming
    Replies:
    9
    Views:
    550
Loading...

Share This Page