Originally Posted by
Salem
Well the OS doesn't just load your program image and jump to main.
Normally, the program starts at a symbol called _start, which will do some stuff before calling into the clib startup routine. This in turn eventually calls main.
You should probably compile with "-g" flag to get more symbol information. Functions declared static for example might only show as hex addresses otherwise.
> 3. Are these hexadecimal numbers absolute addresses (i.e. not offset) of the code section of these functions? or not?
They will be "absolute" within the virtual address space assigned to the process.
> 4. Do these hexadecimal numbers have something to do with "debugging information"?
Add the debug flag to the compile and link steps.