Step 6 (S-6984)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/535/step/6

Step 6 (S-6984) 1.png

[00:00 - 00:17] давайте рассмотрим как происходит операция на примере конкретных программ а там будет стоить из 3 файлов мы себе сколько о себе и скрою это главный файл в котором находится точка входа


[00:17 - 00:33] и внутри этой функции называется то есть в этот день вскрывают себе не виновата она принимает 1 аргумент и возвращает его


Step 6 (S-6984) 2.png

Step 6 (S-6984) 3.png

[00:33 - 00:51] значение в квадрате для того чтобы связать эти 2 файла для того чтобы мы знали о том что существует такая функция добавлен 3 паводковая hp заголовочный и в нем есть объявление по тебе скучаю


Step 6 (S-6984) 4.png

Step 6 (S-6984) 5.png

[00:51 - 01:07] давайте пройдемся этапа компиляции по отдельности для начала скопировать файл 1 этап эволюции это процесс


Step 6 (S-6984) 6.png

[01:07 - 01:24] можно вызвать столько препятствий посмотри что получится для этого мы будем использовать ключик - для компилятора gps + мы скармливаем его сквозь степи


[01:24 - 01:43] и на выходе получаем при процесс да конечно получится ну вот видно что получилось


Step 6 (S-6984) 7.png

[01:43 - 02:02] сквозь и ничего не подключали то интересовалась начале только некоторая служебная информация и после отработки процесс расстался точно таким же давайте теперь тоже самое сделаем с файлом мой


Step 6 (S-6984) 8.png

Step 6 (S-6984) 9.png

[02:02 - 02:20] получился файл main


Step 6 (S-6984) 10.png

[02:20 - 02:37] внутри файла нас препроцессоре мы видим изначальное содержимое файла то есть он смс а также содержимое файла то есть вот это объявление она просто


Step 6 (S-6984) 11.png

Step 6 (S-6984) 12.png

Step 6 (S-6984) 13.png

[02:37 - 02:53] теперь когда компилятору файл insipid процессора там уже будет объявление франциско теперь можно


Step 6 (S-6984) 14.png

[02:53 - 03:10] скормить непосредственно император да то есть ключ в минусе на выходе получается 2 файла


Step 6 (S-6984) 15.png

[03:10 - 03:27] с расширением это объектами для того чтобы собрать эти объекты файлы в 1 файл исполняемым опять скоро мы компилятором


Step 6 (S-6984) 16.png

[03:27 - 03:46] укажем имя после выполнения этой программы эта команда ну положим


Step 6 (S-6984) 17.png

[03:46 - 04:00] программа которая все это можно запустить так нашел ничего не делает ничего не ожидай от него никого нет то программа запустилась ничего она не делает


[04:00 - 04:17] заметьте что каждый раз я использовал 1 и ту же программу gps + действительности же + + это такая обертка над несколькими программами на препроцессора над непосредственно компилятор и над линковщика


[04:17 - 04:33] и ты сама решает что вызывайте если не просить что то делать специально а просто изначально дате файла моим себе и о себе то


[04:33 - 04:52] дефекты сама догадается что нужно и мы снова получим то и получился


Step 6 (S-6984) 18.png

Step 6 (S-6984) 19.png

[04:52 - 05:09] можно попросить компилятор же принес показать некоторые забежим объектов но сам по себе не интересна информация можно посмотреть его


[05:09 - 05:25] ассоциированных то есть можно попросить компилятор выдать нам файлы с представлениями как бы сквозь степи например виде


[05:25 - 05:42] да 8 точка - с то получится такой и даже если вы не знаете ассемблер то в нем вы можете увидеть некоторые интересные моменты значит вот здесь вот


Step 6 (S-6984) 20.png

Step 6 (S-6984) 21.png

[05:42 - 06:00] указаны некоторые метках с названием 6 к в а мы теперь знаем что это такое это преобразованная имя функции 6 означает что 6 букв в названии и i означает что принимает


[06:00 - 06:17] соответственно дальше идет что то непонятно непосредственно код функции а компилятор представляет возможность


[06:17 - 06:33] обратного преобразования если у нас есть имя функции вот так он преобразован в виде мы можем воспользоваться специальной программой все + + - n скормить это название


Step 6 (S-6984) 22.png

[06:33 - 06:51] берем 6 и как ведь это функционал программы вернет мне изначально сигнатуру заметим что


Step 6 (S-6984) 23.png

[06:51 - 07:09] мы те которые не участвуют возвращаемое значение дело в том что все так просто не может быть 2 функций с одинаковым именем одинаковыми параметрами но разными начальник начали поэтому в начале значения не участвует в преобразованном