В современном программировании существует куча языков. Их можно разделить на два типа: интерпретируемые и компилируемые. Например, такие языки как C, C++, C#, Java, Kotlin и Go компилируются. На этапе компиляции происходит куча разных полезных штук: синтаксическая проверка, статический анализ кода, различные оптимизации и, конечно, сборка исполняемого файла. Именно на этапе компиляции где-то под капотом все наши файлы с кодом «сшиваются» в нечто цельное. А вот вопрос: как это происходит? Нельзя же просто весь код засунуть в один файл и сверху вниз начать его компилировать. Ведь у нас в программе есть зависимости одних функций от других. Значит необходимо все делать в какой-то последовательности. Надо как-то понять в какой. Заметим два простых факта. Первый - кусок кода можно компилировать тогда, когда код, от которого он зависит уже скомпилирован. Второй - если кусок кода ни от чего не зависит, его можно компилировать сразу. Теперь давайте найдем все куски, которые ни от чего не завися
В современном программировании существует куча языков. Их можно разделить на два типа: интерпретируемые и компилируемые. Например, такие
13 августа 202213 авг 2022
68
1 мин