summaryrefslogtreecommitdiff
path: root/content/digarden/pages/20210410124857-компиляторы.org
diff options
context:
space:
mode:
Diffstat (limited to 'content/digarden/pages/20210410124857-компиляторы.org')
-rw-r--r--content/digarden/pages/20210410124857-компиляторы.org35
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