summaryrefslogtreecommitdiff
path: root/content/digarden/pages/20210519112044-компилируемые_языки_программирования.org
diff options
context:
space:
mode:
Diffstat (limited to 'content/digarden/pages/20210519112044-компилируемые_языки_программирования.org')
-rw-r--r--content/digarden/pages/20210519112044-компилируемые_языки_программирования.org34
1 files changed, 0 insertions, 34 deletions
diff --git a/content/digarden/pages/20210519112044-компилируемые_языки_программирования.org b/content/digarden/pages/20210519112044-компилируемые_языки_программирования.org
deleted file mode 100644
index e7d77d9..0000000
--- a/content/digarden/pages/20210519112044-компилируемые_языки_программирования.org
+++ /dev/null
@@ -1,34 +0,0 @@
-:PROPERTIES:
-:ID: 5346da1a-6f67-4919-ac90-fd1a0b4c68f3
-:END:
-#+title: Компилируемые языки программирования
-* Компилируемые языки программирования
-[[https://youtube.com/watch?v=sIlPn7JD1Ug][GNU Toolchain]]
-[[https://youtube.com/watch?v=OnEF1MexJlI][GCC and Makefiles]]
-
-Этапы компиляции [[id:40c44577-6cd7-4eac-aac7-288a0537b7e9][языка Си]]:
-1. Препроцессор
- - Макросы в компайл тайме
- - Расширение .i
- - gcc -E
-2. Компиляция
- - Переводит язык Си в язык Ассемблера
- - Расширение .s
- - gcc -S
-3. Сборка (Assembly)
- - Переводит язык Ассемблера в нечитаемый для человека байткод
- - Называются объектными файлами
- - В них существуют "дырки" (holes).
-
- Скажем при вызове printf скомпилированный объектный файл ещё не будет
- знать откуда printf брать.
- - Расширение .0
- - gcc -c
-4. Линковка
- - Соединяет объектные .o файлы воедино
- - Заполняя в них "дырки" (holes)
- - Выдаёт на выходе исполняемый бинарный файл
- - gcc (без флагов)
-
-Ресурсы:
-- [[https://godbolt.org][Godbolt]] :: сайт с выводом компиляторов C в ассемблер