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 6176777
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T00:09:41+00:00 2026-05-24T00:09:41+00:00

For example, when I compile a C application is the outputted file read as

  • 0

For example, when I compile a C application is the outputted file read as binary or does the OS then interpret the compilation? Is the “machine language” pure binary?

EDIT: Yes, everything on a computer is pure binary. Im asking if the processer directly interprets the file outputted by the compiler or does the OS process it first?

  • 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-24T00:09:41+00:00Added an answer on May 24, 2026 at 12:09 am

    A compiled program usually contains a header followed by the actualy CPU instructions (what you might call “binary”) + various other data.

    When you try to tell the OS to load your program the header will be read by the OS, and it is used to check that the executable file is really an executable file meant for this OS and this architecture. I.e. so that you don’t accidentally run a Linux program on Windows or similar.

    The header also contains various other bits of information on where the actual CPU instructions are located in the exeutable file, where data segments (text, strings, graphics) are located and so forth.

    Once the OS is happy that the executable file is what it’s supposed to be, then the OS will load the different segments from the executable file into memory and instruct the CPU to start running the “binary” code segment. This code is “pure” in a sense that it is straight CPU assembly code.

    However the operating system can sill interrupt the CPU (for example to switch to another program, or just kill the program from memory and so forth). So there are a lot of things going on around this running program, and the OS kind of “manages” it and makes sure it behaves like a nice boy, but the code itself when it is running is executing pure CPU instructions as fast as possible..without the OS having to interpret the code in between.

    Also note that the running program may call the OS in various ways while it is running. For example to request the OS to open a window on the display, open a network connection, allocate memory, and so forth. All that actually is happening is that the CPU just jumps to executing code at a different location (i.e. it jumps from running the code in the executable, to running some piece of code in the OS, and then jumps back).

    That’s it in a nutshell. There are many other ways to run programs though. There are virtual machines, interpreted languages (like Java or Ruby for example), and so forth. And they all run programs in different ways from the traditional “pure binary” languages like C/C++, but hopefully this helped you understand how it works a bit better.

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

Sidebar

Related Questions

This simple example fails to compile in VS2K8: io_service io2; shared_ptr<asio::deadline_timer> dt(make_shared<asio::deadline_timer>(io2, posix_time::seconds(20))); As
I tried to compile the example posted ( C++ Service Providers ) and failed
I tried to compile this example: #include <stdio.h> #include <stdlib.h> #include <stddef.h> main(){ size_t
Ideally I want a function something like the following (this example doesn't compile): void
I'm trying to compile a simple example of generic classes / type patterns (see
I'm trying to compile the following simple DL library example code from Program-Library-HOWTO with
When trying to compile GNU software on HP-UX (binutils for example) I'm getting error
I'm trying to compile the zpipe.c example in my Linux(Ubuntu 8.04) with gcc, but
I would like to precalculate values for a function at compile-time. Example (real function
I am attempting to compile/run a sample WCF application from Juval Lowy's website (author

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.