diff options
Diffstat (limited to 'content/digarden/pages/20210410124857-компиляторы.org')
-rw-r--r-- | content/digarden/pages/20210410124857-компиляторы.org | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/content/digarden/pages/20210410124857-компиляторы.org b/content/digarden/pages/20210410124857-компиляторы.org new file mode 100644 index 0000000..4a4e492 --- /dev/null +++ b/content/digarden/pages/20210410124857-компиляторы.org @@ -0,0 +1,35 @@ +:PROPERTIES: +:ID: 08a7f601-d042-4d24-b5f7-701f2195a016 +:END: +#+title: Компиляторы + +GCC и LLVM. + +Компиляторы компилирует в бинарный файл. Бинарный файл имеет свой +[[id:246de455-9841-4fc0-b482-b42b165666a9][бинарный формат]]. + + +Программы: +- objdump +- readelf +- strip :: удаляет неиспользуемую информацию (например сиволы дебага) из + бинарника, уменьшая его размер. + +Дебагер: +- GDB +- Valgrind + +Форматы бинарников: +- Elf (используется в GNU) +- Dwarf (формат дебагинга) +- Stubs (формат дебагинга) + + +[[id:fe003684-3c18-4ee4-8b0b-c5fdf1cb9e9d][Построение компиляторов]] + +** Построение +- [[http://www.craftinginterpreters.com/contents.html][Crafting Interpreters]] +** Компиляторы +- GCC +- LLVM +- https://ecs.openbrace.org/ (Oberon, C++, FALSE)
\ No newline at end of file |