Я хочу понять на низком уровне, как ввод задан функции. Что именно происходит после запуска функции? Например, рассмотрим следующее:Низкоуровневое описание присвоений ввода функции
int foo(int t1, int t2)
{
Function defintion goes here
}
Тогда позже в коде
main()
{
.
.
int a= foo(23, 24);
.
.
}
Предположим, что код успешно компилируется и мы получим двоичный файл, т.е. EXE-файл, соответствующий нашему источнику высокого уровня код. Я хочу понять, на каком уровне вводятся внутренние функции, и что именно происходит, когда мы дважды щелкаем по этому .exe-файлу. Какие программные/аппаратные средства вступают в игру после нажатия на .exe? Буду признателен, если кто-то может дать мне краткое описание.
По просьбе
ОС: Windows CPU: Intel Core2Duo
Вы спрашиваете далеко, слишком много, чтобы на это ответить. Если это в Windows, прочитайте о файлах PE и загрузчиках окон и x86. Если это Linux, прочитайте об файлах Elf и загрузчике Linux. –
@gpuguy Этот вопрос будет замечательным, если вы можете назвать одну точную ОС и какой компилятор используется. В противном случае вопрос может быть слишком широким для того, чтобы кто-либо дал осмысленный ответ. – Lundin
Я согласен с Джонатоном.Вы также хотите посмотреть на что-то, называемое «стек вызовов». – Panzercrisis