Концепція у визначенні ABC
Різне / / July 04, 2021
Гілем Алсіна Гонсалес, у вересні 2017
Як ми можемо порозумітися з кимось, з ким у нас немає спільної мови? Через перекладача. Ця функція перекладу є тим, що виконує a компілятор перетворитися на код виконуваний вихідний код, написаний програмістом.
Компіляція - це процес, за допомогою якого відбувається програма, написана мовою високого рівня переведений у машинний код, що використовується певною архітектурою комп'ютера, для його виконання прямий.
Отже, і відповідно до пояснення, яке ми щойно запропонували, ця система вимагає вибору a архітектура призначення, яке може бути різним у кожному випадку і змусить нас складати окремо для кожної з різних архітектур, в яких ми хочемо, щоб наша програма працювала.
Таким чином, наприклад, ми можемо просувати певну програму для 32-розрядної архітектури x86, 64-розрядної x86, PowerPC або ARM також розмежовує 32 і 64 біти залежно від типу пристрою, в якому ми хочемо запустіть його.
Крім того, ми також повинні враховувати різні операційні системи, навіть якщо ми працюємо для однієї платформи апаратне забезпечення, оскільки кожен з них має різний спосіб взаємодії з фізичною машиною
Візьмемо для прикладу 64-розрядну платформу x86. Ми можемо захотіти скомпілювати для Windows, GNU / Linux або macOS, або для кожного з них, що передбачає три окремі процеси компіляції.
Іноді це змушує нас трохи налаштувати вихідний код, часто зберігаючи три окремі версії (або більше, залежно від справа), щоб вони могли правильно взаємодіяти з особливостями та відмінностями платформи призначення.
Процес компіляції виконує низку етапів, таких як виявлення синтаксичних помилок у вихідному коді, а потім a попередньо оброблені, щоб знати ресурси, які потрібні програмі, і нарешті зв’язок з бібліотеками та ресурсами, необхідними для неї виконання.
Таким чином, a файл виконуваний файл, що містить все ресурсів необхідні для його виконання та інструкції, необхідні для доступу до зовнішніх ресурсів, таких як спільні бібліотеки коду (поділилися).
Процес компіляції здійснюється за допомогою певного інструменту або інструментів (компілятора), хоча загальноприйнятим є те, що це інтегрується в середовища розробки (IDE), тим самим сприяючи його використання.
Кожна мова програмування Він має власний компілятор, хоча протягом тривалого часу компілятор, що відповідає мові та середовищу, здатний генерувати виконувані файли для різних платформ програмне забезпечення інший.
Чи є альтернативний варіант процесу збірки? Так, і вони перекладаються мовами.
Інтерпретовані мови - це мови, які перекладаються під час виконання, а не компілюються.
Тому їх вихідний код завжди доступний, і що їм потрібно, це те, що в операційна система на якому вони страчені, є перекладач.
Уникаючи процесу компіляції, якщо інтерпретатор доступний для багатьох платформ, можна буде запускати програму безпосередньо на кожному з них, як правило, без змін.
Інший фокус Альтернативно, на півдорозі між компільованими та інтерпретованими мовами - це ті, для роботи яких потрібна віртуальна машина, наприклад, Java.
Мови програмування, які працюють поверх шару віртуалізації (віртуальна машина), потребують проміжного процесу, подібного до процесу компіляція, але це призводить до коду, який не може бути безпосередньо виконуваним, хоча і більш оптимізованим, ніж той, що виконується мовою інтерпретується.
У цих випадках необхідно мати процес, подібний за формою до компіляції, але це дає інший результат і який все одно вимагає, у будь-якому випадку, встановлення з час виконання в операційній системі, в якій ми хочемо запустити нашу програму.
Фотографії: Fotolia - Олександр Покусай / Онот
Теми з компіляції