Добавлен семинар 3 по языкам программирования

This commit is contained in:
LeterZP
2026-10-15 01:21:29 +03:00
parent eb374cf32a
commit 10540b1f7d
3 changed files with 163 additions and 0 deletions
@@ -91,6 +91,8 @@
Для компиляции на первом этапе используется команда `nasm` (Netwide Assembler). В [[#Простейшая программа|простейшей программе]] далее при компиляции используются флаги `-g`, `-felf64` и `-o`. Флаг `-g` выводит debug-информацию о процессе компиляции. Флаг `-f` устанавливает формат итогового файла, в данном случае `elf64`, что является стандартным вариантом для большинства Unix-подобных систем на архитектуре `x86-64`. Флаг `-o` указывает, в какой файл записать вывод программы.
Для компоновки на втором этапе используется команда ld (стандартный линкер для GNU). В [[#Простейшая программа|простейшем примере]] далее при компиляции используется флаг `-o`. Как и в описании флагов для компилятора, данный флаг записывает результат работы программы в указанный файл.
Более подробно этот процесс и подробности выполняемых команд описаны в [семинаре 3](Цикл%20компиляции,%20препроцессор,%20утилита%20make.md#Цикл%20компиляции).
### Простейшая программа
Далее подробно рассмотрим простейшую программу на языке ассемблера, которая выводит "hello, world!" в стандартный поток вывода.