C程序:__ start

San*_*San 5 c unix linux gcc

你能帮我理解一下吗?

__start
Run Code Online (Sandbox Code Playgroud)

在内部用于C?

它是main函数的精确副本还是编译程序的入口点?

只是想知道它是如何被使用的?

uli*_*tko 13

这里是程序启动时会发生什么一个很好的概述之前 main.特别是,它表明它__start是从OS角度看程序的实际入口点.

它是指令指针在程序中开始计数的第一个地址.

那里的代码调用一些C运行时库例程只是为了做一些内务处理,然后调用你的main,然后把事情搞砸,然后调用返回的exit退出代码main.


一张图片胜过千言万语:

C运行时启动图