Курс «Основы программирования» Видео 07.mp4
Понятие «Трансляция»
Понятие «Компиляция»
Исполняемый и объектный файл
Исполняемый и объектный файл
Компилятор
Компилятор
Ошибки и предупреждения
Ошибки и предупреждения
173.07K
Category: programmingprogramming

Основы программирования

1. Курс «Основы программирования» Видео 07.mp4

КУРС
«ОСНОВЫ ПРОГРАММИРОВАНИЯ»
ВИДЕО 07.MP4
Григорин Александр
Санкт-Петербург 2017 г.

2. Понятие «Трансляция»

ПОНЯТИЕ «ТРАНСЛЯЦИЯ»
Трансляция это процесс перевода исходного
кода
программы
в
код
понятный
исполняющему устройству.
Программа
выполняющая трансляцию –
транслятор.
Вида трансляции:
1) Компилирование
2) Интерпретация
3) Смешенная
2

3. Понятие «Компиляция»

ПОНЯТИЕ «КОМПИЛЯЦИЯ»
Компиляция – процесс перевода исходного
кода программы в исполняемый код, понятный
процессору. Процессор – исполнитель кода.
Конечный итог компиляции это создание
исполняемого файла. В ОС Windows это файл с
расширением exe.
Исходный код Исполняемый файл (exe и
др.)
3

4. Исполняемый и объектный файл

ИСПОЛНЯЕМЫЙ И ОБЪЕКТНЫЙ ФАЙЛ
Исполняемый
файл
содержит
в
себе
инструкции и данные, которые может
обрабатывать процессор.
Исполняемый файл имеет сложную структуру
и помимо собственно команд процессору и
данных
для
обработки
содержит
вспомогательную информацию и многое
другое.
Объектный файл содержит команды и данные.
В ОС Windows имеет расширение .o
Один исполняемый файл может быть создан из
нескольких объектных файлов.
Компоновщик – программа, которая составит
исполняемый файл из объектных и других
файлов.
4

5. Исполняемый и объектный файл

ИСПОЛНЯЕМЫЙ И ОБЪЕКТНЫЙ ФАЙЛ
Исходный код
Расширение .с
Исполняемый файл
Расширение .exe
Объектный файл
Расширение .o
5

6. Компилятор

КОМПИЛЯТОР
Компиляторы создают исполняемый файлы,
которые
содержат
команды,
понятные
процессору.
У каждой ОС свой формат исполняемого
файла.
У каждого процессора своя архитектура. И как
следствие своя система команд (об этом в
другой раз).
Команды
процессора тоже задаются в
бинарном представлении, т.е. потоком 0 и 1.
К примеру в процессоре x86 операция INC –
инкремент (+1) может соответствовать коду
01000000. На другом процессоре это не так.
Т.е. компилятор создаёт код под конкретную
ОС и архитектуру процессора.
6

7. Компилятор

КОМПИЛЯТОР
Компилятор работает с одним языком
программирования.
Компиляторы
одного производителя для
работы с разными языками объединяются в
наборы (коллекции).
Существует огромное количество компиляторов
для языка программирования Си.
В
нашем курсе используется компилятор
MinGW (Minimalist GNU for Windows) –
переделанный компилятор GCC (работает под
Unix подобных ОС).
Компилятор может быть использован отдельно
и управляться через командную строку.
Или компилятор может быть встроен в среду
программирования (как в Code::Blocks).
7

8. Ошибки и предупреждения

ОШИБКИ И ПРЕДУПРЕЖДЕНИЯ
Компилятор
проверяет
исходный
код
программы на наличие различных ошибок.
Ошибка. Error. Ошибка в исходном коде
делающая
процесс
компиляции
принципиально невозможным.
Пример:
Include <stdio.h> - Нет #, I вместо i
int main()
(
- круглая скобка вместо фигурной
Return 0
- R вместо r, нет ; в конце
инструкции
)
- круглая скобка вместо фигурной
8

9. Ошибки и предупреждения

ОШИБКИ И ПРЕДУПРЕЖДЕНИЯ
Предупреждения.
Warnings.
Компилятор
создаёт исполняемый файл, но сообщает
программисту, что в коде есть нежелательные
элементы и что-то по его мнению написано не
оптимально.
Существует
огромное
количество
предупреждений.
Большинство
их
по
умолчанию отключены.
Чтобы все их включить нужно настроить среду
разработки Code::Blocks:
Settings->Compiler->Global
compiler settings
(слева)->Compiler setting(вкладка)->Compiler
flags(вкладка)->Warnings(раскрывающийся
список)
9
English     Русский Rules