Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Що таке компіляція?

Простіше кажучи, компіляція - це процес перекладу вихідні (розбірливий для людини опис програми, написаної програмістом) рідною мовою процесора комп'ютера.

Процесор комп'ютера (або центральний процесор) працює на дуже елементарному рівні, виконуючи програми в тому, що називається машинна мова. Це числовий код, який описує дуже невеликі операції, такі як «додати цей байт», «вказати на це місце в пам’яті» або «скопіювати цей байт».


Кожна з цих інструкцій виражається у двійковій формі (одиниці та нулі). Найдавніші комп’ютерні програми були написані за допомогою цього числового коду, що може пояснити, чому програмісти, які його написали, казали, що вони багато курять, п’ють галони кави та носять товсті окуляри.

Цю проблему було подолано появою ст мова асемблера, який замінив цифрові коди (трохи) простішими у використанні символами мнемоніка наприклад CPY (для копіювання) і MOV (для переміщення). Програми, написані мовою асемблера, обробляються машинною мовою за допомогою програми, яка називається an збирати. Мова асемблера все ще використовується сьогодні для певних спеціалізованих завдань програмування, таких як драйвери пристроїв та вбудовані системи.

Далі переходимо до того, що називається мови програмування високого рівня. Вони називаються так, тому що дозволяють програмісту менше турбуватися про деталі того, що робить процесор, а більше про вирішення проблеми. Серед ранніх (розроблених у 1950-х роках). ФОРТРАН (призначені для науково-технічних завдань) і КОБОЛ (призначений для бізнес-додатків). Обидва досі використовуються обмежено.

Хоча існує багато популярних мов програмування, дві переважають. Більшість програм, написаних для сучасних систем, написані на будь-якому C or C + +. У наступних прикладах ми будемо компілювати програму на C.

Програми, написані мовами програмування високого рівня, перетворюються на машинну мову шляхом обробки їх іншою програмою, яка називається компілятор. Деякі компілятори перекладають інструкції високого рівня на мову асемблера, а потім використовують асемблер для виконання останнього етапу перекладу на машинну мову.

Процес, який часто використовується разом із компіляцією, називається Зв'язуючий. Існує багато загальних завдань, які виконуються програмами. Візьмемо, наприклад, відкриття файлу. Багато програм виконують це завдання, але було б марнотратством, щоб кожна програма реалізувала власну процедуру відкриття файлів. Має сенс мати єдину програму, яка вміє відкривати файли та дозволяти всім програмам, які цього потребують, ділитися ними. Забезпечення підтримки загальних завдань здійснюється за допомогою так званих libraries. Вони містять кілька рутини, кожен з яких виконує загальне завдання, яке може використовувати кілька програм. Якщо ми заглянемо в / lib та / Usr / Бібліотека каталогів, ми бачимо, де багато з них живуть. Програма під назвою a Компонувальник використовується для формування зв’язків між виводом компілятора та бібліотеками, які потрібні скомпільованій програмі. Кінцевим результатом цього процесу є виконуваний програмний файл, готовий до використання.


 

Найпопулярніші хмарні обчислення ОС на OnWorks: