summaryrefslogtreecommitdiff
path: root/content/digarden/pages/20210410124857-компиляторы.org
blob: 4a4e492b0253b908e10581dca2458eae19fc0874 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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)