Difference between revisions of "Step 6 (S-10003)"

From Stepik Wiki
Jump to: navigation, search
(Create page for step id=10003)
 
 
Line 1: Line 1:
 
Step on Stepik: https://stepik.org/lesson/545/step/6
 
Step on Stepik: https://stepik.org/lesson/545/step/6
  
<img width="50%" src="https://ucarecdn.com/8bdb49fe-60f0-4cc4-935f-55de19d89899/">
+
[[File:Step_6_(S-10003)_1.png|border|800px]]
  
 
[00:00 - 00:15] для того чтобы лучше понять как работают структуру давайте рассматривать пусть у нас есть структура point определенно внутри заголовочные файлы поиск точка точка
 
[00:00 - 00:15] для того чтобы лучше понять как работают структуру давайте рассматривать пусть у нас есть структура point определенно внутри заголовочные файлы поиск точка точка
Line 9: Line 9:
  
  
<img width="50%" src="https://ucarecdn.com/c493c559-2990-41aa-82f6-e12dad41e4ea/">
+
[[File:Step_6_(S-10003)_2.png|border|800px]]
  
 
[00:32 - 00:50] давайте посмотрим во что то колеруется данных так как я понял и не содержит в себе точку входа нет никакого смысла подгонять поэтому брать калькулятор и посмотрим на ассемблерный код который генерируется
 
[00:32 - 00:50] давайте посмотрим во что то колеруется данных так как я понял и не содержит в себе точку входа нет никакого смысла подгонять поэтому брать калькулятор и посмотрим на ассемблерный код который генерируется
Line 17: Line 17:
  
  
<img width="50%" src="https://ucarecdn.com/4fd3fcfa-f9d2-4bb0-835f-379c2b35b373/">
+
[[File:Step_6_(S-10003)_3.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/3d088aca-7a0b-43c0-8770-8809e954377f/">
+
[[File:Step_6_(S-10003)_4.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/8fad101c-b690-43be-b802-c64d0c9bec46/">
+
[[File:Step_6_(S-10003)_5.png|border|800px]]
  
 
[01:08 - 01:27] функции shift и даже можно проверить что команда из пристроя спирт при котором говорили на прошлой лекции справятся с дешифровать от времени то есть можно запустить командную переспросил передачей это имя смотреть что она действительно сможет расшифровать и выдать
 
[01:08 - 01:27] функции shift и даже можно проверить что команда из пристроя спирт при котором говорили на прошлой лекции справятся с дешифровать от времени то есть можно запустить командную переспросил передачей это имя смотреть что она действительно сможет расшифровать и выдать
Line 29: Line 29:
  
  
<img width="50%" src="https://ucarecdn.com/880d2d60-dc76-454a-8344-23a7f5594d63/">
+
[[File:Step_6_(S-10003)_6.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/9ad4aed1-c30c-4fd6-865b-fd843ef3ab31/">
+
[[File:Step_6_(S-10003)_7.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/6495a1e8-cf90-43f9-b705-03766025a51a/">
+
[[File:Step_6_(S-10003)_8.png|border|800px]]
  
 
[01:42 - 01:57] оказывается что непосредственно определения структуры не генерировать никакого кода для того чтобы проверить эту догадку давайте создадим пустой файл значением себе запятая
 
[01:42 - 01:57] оказывается что непосредственно определения структуры не генерировать никакого кода для того чтобы проверить эту догадку давайте создадим пустой файл значением себе запятая
  
  
<img width="50%" src="https://ucarecdn.com/730872e0-7b6e-4506-b0e6-0dba8cf9856a/">
+
[[File:Step_6_(S-10003)_9.png|border|800px]]
  
 
[01:57 - 02:14] и добавим туда включение файла то есть то что мы передадим компилятора просто проходу препроцессора будет состоять из определения структуры и в общем то там посмотрим какой код звенигород компилятор
 
[01:57 - 02:14] и добавим туда включение файла то есть то что мы передадим компилятора просто проходу препроцессора будет состоять из определения структуры и в общем то там посмотрим какой код звенигород компилятор
  
  
<img width="50%" src="https://ucarecdn.com/60b873d7-2b89-486c-8163-623958b30531/">
+
[[File:Step_6_(S-10003)_10.png|border|800px]]
  
<img width="50%" src="https://ucarecdn.com/923098be-38bb-4154-8d10-57f2ceda2ede/">
+
[[File:Step_6_(S-10003)_11.png|border|800px]]
  
 
[02:14 - 02:32] оказывается что этот код будет состоять только из служебных символов и никаких инструкций особенно в там не будет то есть надо хорошо понимать что структура они существуют только в момент компиляции структура определяет то как
 
[02:14 - 02:32] оказывается что этот код будет состоять только из служебных символов и никаких инструкций особенно в там не будет то есть надо хорошо понимать что структура они существуют только в момент компиляции структура определяет то как

Latest revision as of 12:20, 7 August 2017

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

Step 6 (S-10003) 1.png

[00:00 - 00:15] для того чтобы лучше понять как работают структуру давайте рассматривать пусть у нас есть структура point определенно внутри заголовочные файлы поиск точка точка


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


Step 6 (S-10003) 2.png

[00:32 - 00:50] давайте посмотрим во что то колеруется данных так как я понял и не содержит в себе точку входа нет никакого смысла подгонять поэтому брать калькулятор и посмотрим на ассемблерный код который генерируется


[00:50 - 01:08] когда мы посмотрим на секретный код то можно легко заметить что он состоит из 1 единой сердца до сердца соответствовать методу определенном файле можно посмотреть на то имя которое компилятор сгенерировал для


Step 6 (S-10003) 3.png

Step 6 (S-10003) 4.png

Step 6 (S-10003) 5.png

[01:08 - 01:27] функции shift и даже можно проверить что команда из пристроя спирт при котором говорили на прошлой лекции справятся с дешифровать от времени то есть можно запустить командную переспросил передачей это имя смотреть что она действительно сможет расшифровать и выдать


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


Step 6 (S-10003) 6.png

Step 6 (S-10003) 7.png

Step 6 (S-10003) 8.png

[01:42 - 01:57] оказывается что непосредственно определения структуры не генерировать никакого кода для того чтобы проверить эту догадку давайте создадим пустой файл значением себе запятая


Step 6 (S-10003) 9.png

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


Step 6 (S-10003) 10.png

Step 6 (S-10003) 11.png

[02:14 - 02:32] оказывается что этот код будет состоять только из служебных символов и никаких инструкций особенно в там не будет то есть надо хорошо понимать что структура они существуют только в момент компиляции структура определяет то как


[02:32 - 02:51] данные адресуются памяти как они располагаются но после того как ваш код компилировался никакой информации о структуре тому же нет вся работа происходит на уровне копирование 1 носил байт в


[02:51 - 02:59] на место другого массивы вся информация идет на уровне байт без информации о конкретных тебя