Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 587075
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T15:10:26+00:00 2026-05-13T15:10:26+00:00

I’m confusing little in terminology. A file that is given as input to the

  • 0

I’m confusing little in terminology.

A file that is given as input to the linker is called Object File.
The linker produces an Image file, which in turn is used as input by the loader.

I got this from "MS PE & COFF Specification"

Q1. Image file is also referred to as Binary Image, Binary File or just Binary. Right?

Q2. So, according to the above stated terminology, the PE/ELF/COFF are the formats of Image File & not the Object File. right? But http://www.sco.com/developers/gabi/latest/ch4.intro.html says

This chapter describes the object file format, called ELF (Executable and Linking Format). There are three main types of object files.

  • A relocatable file holds code and data suitable for linking with other
    object files to create an executable
    or a shared object file.

  • An executable file holds a program suitable for execution; the
    file specifies how exec(BA_OS) creates
    a program’s process image.

  • A shared object file holds code and data suitable for linking in two
    contexts. First, the link editor [see
    ld(BA_OS)] processes the shared object
    file with other relocatable and shared
    object files to create another object
    file. Second, the dynamic linker
    combines it with an executable file
    and other shared objects to create a
    process image.

contradictorily he is saying that both Object File & Image File are ELF formats & He is not at all differentiating between object & image files but referring them commonly as Object files. Isn’t it wrong?

Q3. I know that PE is derived from COFF. But why does the Microsoft specifications of PE format is named Microsoft Portable Executable "and Common Object File Format Specification". Do they still support COFF? If they, in which OS? I thought PE completely replaced COFF long ago.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T15:10:26+00:00Added an answer on May 13, 2026 at 3:10 pm

    I’m the OP. Every one’s answer is a partial answer. So, I’m combining all the other answers with what I learnt to complete the answer.

    This is the “Generally” used terminology.

    • A file that is given as input to the linker (output of assembler) is called Object File or Relocatable File.

    • The linker produces an Image file, which in turn is used as input by the loader. Now, an Image file can either be an Executable file or Library file. These ‘Library files’ are of two kinds:

      1. Static Library (*.lib files for windows. *.a for linux)
      2. Shared/Dynamic libraries : DLL ( *.dll on windows) & Shared Object file( *.so in Linux)
    • The term Binary File / Binary can be used to refer to either an ObjectFile or an ImageFile. Undestand depending up on the context. It is a very general term.

    • Loader when loads the image file into memory. Then it is called Module (I’m not sure about Linux guys, but windows guys call it Module

    http://www.gliffy.com/pubdoc/1978433/L.jpg
    alt text http://www.gliffy.com/pubdoc/1978433/L.jpg

    As I said, these are “Generally” used terminology. There are no strict definitions for the terms ‘binary file’, ‘image file’, or ‘object file’.

    Particularly the term ‘object file’ might sometimes be used to mean an intermediate file output by the compiler for use by the linker, but in another context might mean an executable file.

    Especially on different platforms they might be used for refer to different or similar things. Even when discussing issues on a single platform, one writer might use the terms somewhat differently than another.

    • Both ObjectFile & ImageFile are in PE Format in windows & ELF format in linux.
    • ELF is not only the format of the image file but is also the format of the object file.
    • Every ELF file starts with an ELF Header. The second field of an ELF Header is e_type; this fields lets us know whether the file is an object file (aka a relocatable in ELF parlance), or an image (which can be either an executable or a shared object) or something else (core file’s are also ELF files).
    • I don’t know if there is any bit in header that differentiates an Object file from Image file. It needs to be checked.

    I know that PE is derived from COFF.
    But why does the Microsoft
    specifications of PE format is named
    Microsoft Portable Executable “and
    Common Object File Format
    Specification”. Do they still support
    COFF? If they, in which OS? I thought
    PE completely replaced COFF long ago.

    As far as “PE” vs “COFF”, my recollection is that Microsoft use the “COFF” specification as the starting point for the “PE” specification but extended it for their needs. So strictly speaking a “PE” file isn’t a “COFF” file, but it’s very similar in many ways.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
link Im having trouble converting the html entites into html characters, (&# 8217;) i
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have just tried to save a simple *.rtf file with some websites and
I am trying to understand how to use SyndicationItem to display feed which is
I used javascript for loading a picture on my website depending on which small
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I've got a string that has curly quotes in it. I'd like to replace
I have a French site that I want to parse, but am running into
I want use html5's new tag to play a wav file (currently only supported

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.