diff options
Diffstat (limited to 'content/digarden/pages/20210519112044-компилируемые_языки_программирования.org')
-rw-r--r-- | content/digarden/pages/20210519112044-компилируемые_языки_программирования.org | 34 |
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 в ассемблер |