Понятие в определении ABC
Разное / / July 04, 2021
Гиллем Альсина Гонсалес, сентябрь. 2017
Как мы можем ладить с кем-то, с кем у нас нет общего языка? Через переводчика. Эта функция перевода выполняет компилятор превратиться в код исполняемый исходный код, написанный программистом.
Компиляция - это процесс, с помощью которого программа, написанная на языке высокого уровня, переведен в машинный код, используемый определенной компьютерной архитектурой, для его выполнения непосредственный.
Следовательно, согласно только что предложенному нами объяснению, эта система требует выбора архитектура destination, который может быть разным в каждом случае и заставит нас компилировать отдельно для каждой из разных архитектур, в которых мы хотим, чтобы наша программа работала.
Таким образом, например, мы можем продвинуться по определенной программе для 32-битной архитектуры x86, 64-битной x86, PowerPC или ARM также различают 32 и 64 бита, в зависимости от типа устройства, в котором мы хотим запустить его.
Кроме того, мы также должны учитывать разные операционные системы, даже если мы работаем на одной платформе. аппаратное обеспечение, поскольку у каждого из них свой способ взаимодействия с физической машиной.
В качестве примера возьмем 64-битную платформу x86. Мы можем скомпилировать для Окна, GNU / Linux или macOS, или для каждого из них, что подразумевает три отдельных процесса компиляции.
Иногда это вынуждает нас немного подправить исходный код, часто сохраняя три отдельные версии (или больше, в зависимости от case), чтобы они правильно взаимодействовали с особенностями и отличиями целевой платформы.
Процесс компиляции следует за серией шагов, таких как обнаружение синтаксических ошибок в исходном коде, затем предварительно обработаны, чтобы знать ресурсы, которые нужны программе, и, наконец, связь с библиотеками и ресурсами, необходимыми для ее исполнение.
Таким образом файл исполняемый файл, содержащий все Ресурсы необходимые для его выполнения, и инструкции, необходимые для доступа к внешним ресурсам, таким как библиотеки разделяемого кода (общий).
Процесс компиляции выполняется с помощью определенного инструмента или инструментов (компилятора), хотя его обычно интегрируют в среды разработки (IDE), что упрощает его использование.
Каждый язык программирование У него есть собственный компилятор, хотя уже давно компилятор, соответствующий языку и среде, способен генерировать исполняемые файлы для различных платформ. программное обеспечение разные.
Есть ли альтернатива процессу сборки? Да, и это интерпретируемые языки.
Интерпретируемые языки - это языки, которые переводятся во время выполнения, а не компилируются.
Следовательно, их исходный код всегда доступен, и им нужно то, что находится в Операционная система на котором они исполняются, есть интерпретатор.
Избегая процесса компиляции, если интерпретатор доступен для нескольких платформ, можно будет запускать программу непосредственно на каждом из них, обычно без изменений.
Другой фокус альтернативой, на полпути между компилируемыми и интерпретируемыми языками, являются языки, для работы которых требуется виртуальная машина, например Java.
Языки программирования, работающие поверх уровня виртуализации (виртуальной машины), требуют промежуточного процесса, аналогичного процессу компиляция, но это приводит к тому, что код не является исполняемым напрямую, хотя и более оптимизирован, чем код, выполняемый языком интерпретируется.
В этих случаях требуется процесс, похожий по форме на процесс компиляции, но он дает другой результат и все же требует, в любом случае, монтаж из время выполнения в операционной системе, в которой мы хотим запустить нашу программу.
Фото: Fotolia - Александр Покусай / Онот
Темы в компиляции