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

  • Home
  • SEARCH
  • 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 123307
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T04:15:57+00:00 2026-05-11T04:15:57+00:00

GCC compiles (using gcc –omit-frame-pointer -s ): int the_answer() { return 42; } into

  • 0

GCC compiles (using gcc --omit-frame-pointer -s):

    int the_answer() { return 42; } 

into

            .Text     .globl _the_answer     _the_answer:         subl    $12, %esp         movl    $42, %eax         addl    $12, %esp         ret        .subsections_via_symbols 

What is the ‘$12’ constant doing here, and what is the ‘%esp’ register?

  • 1 1 Answer
  • 1 View
  • 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. 2026-05-11T04:15:58+00:00Added an answer on May 11, 2026 at 4:15 am

    Short answer: stack frames.

    Long answer: when you call a function, compilers will manipulate the stack pointer to allow for local data such as function variables. Since your code is changing esp, the stack pointer, that’s what I assume is happening here. I would have thought GCC smart enough to optimize this away where it’s not actually required, but you may not be using optimization.

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

Sidebar

Related Questions

We are writing an application that compiles with both gcc and Visual C++. Some
I'm working on some code that compiles and links (and even has released commercial
So I've got an app which compiles fine on windows, linux and a few
What's the difference on the VC++.net complier (cl.exe /EHsc) and the GCC compiler, compiling,
I've been trying to initialize a map of <ints, vector<ints> > using the new
I've found this odd case of some code (below) doesn't compile under Visual Studio
I have read a few posts but cannot figure out what is wrong.My Code
I'm not a software person, but I could really use some advice. I'm writing
I'm trying to set up my Netbeans IDE so that it is capable of
As an experiment i am trying to write the following program which allows me

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.