Results 1 to 2 of 2

Thread: Executable formats

  1. #1
    Junior Member
    Join Date
    Nov 2003

    Executable formats

    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?

  2. #2
    AO Curmudgeon rcgreen's Avatar
    Join Date
    Nov 2001
    • 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

    • 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.

    I came in to the world with nothing. I still have most of it.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts