How are these different formats in Linux understood ?
a.out / ELF
When I did `file filename` i got something telling statically linked or sometimes dynamically linked....
Also I get something as stripped
What does all these specify?
Printable View
How are these different formats in Linux understood ?
a.out / ELF
When I did `file filename` i got something telling statically linked or sometimes dynamically linked....
Also I get something as stripped
What does all these specify?
- a.out vs.elf
This has to do with the internal structure of the executable files.
The only issue for users is which type your system supports or requires.
Software developers may want to study more about it
http://encyclopedia.thefreedictionar...kable%20Format- static vs. dynamic linking
Programs rarely include all of their code in one single compact executable file.
The main executable can call code from other files to do subroutines for it.
Compilers have "libraries" of code that is linked to your application when you
compile it.
When the compiler puts this library code into your executable file, it ts "statically
linked". The code is now built in to the file.
If the code is called and used at run time, it is "dynamically linked".
The libraries must be present on the system when the program
is run.- stripping
When a programmer is working on a project, he may compile and test
the program many times, and have to debug it. The compiler puts lots
of useful data into the executable file to assist debugging. This stuff is
stripped out when the final version is shipped.
:cool: