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
|
---
title: Compile
slug: Glossary/Compile
tags:
- Глоссарий
translation_of: Glossary/Compile
original_slug: Словарь/Compile
---
<p>Компиляция - это процесс преобразования компьютерной программы, написанной на данном <a href="/ru/Словарь/Computer_Programming">языке</a>, в эквивалентную программу на другом языке. Компилятор - это программа для выполнения этой задачи. Иногда эту задачу называют также "assembling" или "build", что, как правило, свидетельствует о том, что выполняется не только компиляция, например, упаковка в двоичном формате.</p>
<p>Обычно компилятор преобразует язык более высокого уровня, такой как C или <a href="ru/Словарь/Java">Java</a> который понимает человек, в машинный язык, такой как ассемблер, который понимает процессор. Некоторые компиляторы, которые переводят между языками схожего уровня, называются транспайлерами или кросс-компиляторами, например, для компиляции с TypeScript на <a href="ru/Словарь/JavaScript">JavaScript</a>. Они считаются инструментами производительности.</p>
<p>Большинство компиляторов работают либо перед исполнением (AOT), либо во время исполнения (JIT). Как программист, вы обычно вызываете AOT-компиляторы из командной строки или из {{Glossary("IDE")}}. Самый известный "gcc" - это один из примеров.<br>
JIT компиляторы обычно прозрачны для Вас и используются для повышения производительности. Например, в браузере: Firefox' <a href="/ru/SpiderMonkey">SpiderMonkey</a> JavaScript Engine имеет встроенный JIT, который скомпилирует JavaScript на сайте в машинный код, пока Вы его просматриваете, чтобы он работал быстрее. Такие проекты, как <a href="/ru/WebAssembly">WebAssembly</a>, работают над тем, чтобы сделать это еще лучше.</p>
<h2 id="См._также">См. также</h2>
<h3 id="Общие_сведения">Общие сведения</h3>
<ul>
<li><a href="https://ru.wikipedia.org/wiki/Компилятор">Компилятор</a> - Wikipedia</li>
<li>The <a href="https://gcc.gnu.org">GNU Compiler Collection (GCC)</a></li>
</ul>
<h3 id="Обучающие_ресурсы">Обучающие ресурсы</h3>
<ul>
<li><a href="https://medium.com/basecs/a-deeper-inspection-into-compilation-and-interpretation-d98952ebc842">Введение в компиляторы</a></li>
<li><a href="http://stackoverflow.com/a/1672/133203">Большой список учебных материалов на StackOverflow</a></li>
</ul>
|