У Linux GCC означає Колекція компіляторів GNU . Це система компілятора для різних мов програмування. Він в основному використовується для компіляції програм C і C++. Він приймає назву вихідної програми як необхідний аргумент; Аргументи rest є необов'язковими, наприклад налагодження, попередження, об'єктний файл і бібліотеки для зв'язування.
GCC є основним компонентом ланцюжка інструментів GNU. Різноманітні проекти з відкритим вихідним кодом скомпільовані за допомогою GCC, наприклад, ядро Linux і інструменти GNU.
Він поширюється під GPL (Загальна публічна ліцензія). Перша версія, GCC 1.0 , було випущено в 1987 році. Це було лише для мови програмування C, але в тому ж році його було розширено для Мова програмування С++ . Пізніше він був розроблений для інших мов програмування, таких як Objective-C, Objective-C++, Fortran, Java , Ada, Go тощо. Його остання версія має значно покращену реалізацію мов програмування.
Це офіційний партнер GNU OS; тому його було прийнято як стандартний компілятор систем на базі Linux.
абстрактний клас на java
Компоненти GCC
GCC є портативним інструментом, і він може працювати на багатьох операційних системах. Крім того, його можна перенести на вікна за допомогою деяких інструментів, таких як Cygwin, MinGW і MinGW-W64 . Оскільки це ключовий компонент GNU toolchain, він містить наступні компоненти для розробки програм і операційних систем:
Колекція компіляторів GNU (GCC): Це набір компіляторів для багатьох мов, таких як C/C++ і Objective-C/C++.
GNU Make: Це інструмент автоматизації, який використовується для компіляції та створення програм.
GNU Binutils: Це набір, який містить двійкові утиліти, такі як компонувальник і монтажник .
Налагоджувач GNU (GDB). Він використовується для налагодження програм.
GNU Autotools: Це система збірки, яка містить деякі утиліти, такі як Autoconf, Autoheader, Automake і Libtool.
GNU Bison: Це генератор парсерів як lex і yacc.
Процес компілятора GCC
GCC компілює та робить виконувану програму за наступними чотирма кроками:
Попередня обробка: На цьому кроці препроцесор GNU (cpp.exe) створює проміжний файл із вихідним кодом. Препроцесор включає заголовки (#include) і розгортає макроси (#define). Розглянемо наведену нижче команду:
cpp hello.c > hello.i
Наведена вище команда створить проміжний файл 'hello.i'.
Компіляція: На цьому етапі попередньо оброблений вихідний код компілюється в код складання для певного процесора.
gcc -S hello.i
Наведена вище команда створить файл збірки 'hello.s'. Параметр '-s' використовується для того, щоб створити код складання, а не об'єктний код.
Збірка: Код складання перетворюється на машинний код. Він створить об’єктний файл «hello.o».
as -o hello.o hello.s
Посилувач: Компонувальник (ld.exe) є останнім кроком процесу компіляції. Він пов’язує об’єктний код із кодом бібліотеки та створює виконуваний файл.
ld -o hello.exe hello.o
Наведена вище команда створить виконуваний файл 'hello.exe'.
Встановлення GCC на Linux
За замовчуванням він постачається з більшістю дистрибутивів Linux. Ми можемо перевірити це, виконавши наведену нижче команду:
gcc -version
Команда вище відобразить встановлену версію інструменту GCC. Якщо його не встановлено, виконайте наведені нижче дії, щоб установити його:
Крок 1: оновіть список пакетів.
Щоб оновити список пакетів, виконайте таку команду:
sudo apt update
Він запитає пароль адміністратора системи, введіть пароль. Почнеться оновлення пакета системи. Розглянемо наведений нижче знімок виводу:
Крок 2: інсталюйте пакет build-essential.
Він містить різні пакунки, такі як gcc, g++ і утиліта make. Виконайте наведену нижче команду, щоб установити його:
sudo apt install build-essential
Наведена вище команда встановить необхідні пакунки для утиліти GCC. Тепер ми можемо використовувати утиліту GCC на нашій машині. Розглянемо наведений нижче знімок виводу:
Крок 3. Перевірте встановлення.
Щоб перевірити встановлення, виконайте команду gcc -version наступним чином:
gcc --version
Відобразиться встановлена версія утиліти GCC. Щоб відобразити докладнішу інформацію про версію, використовуйте опцію «-v». Розглянемо наведений нижче результат:
Ось ми успішно встановили утиліту GCC. Давайте розберемося, як це використовувати. Ми створимо та виконаємо деякі програми на C за допомогою GCC.
Запустіть першу програму C за допомогою gcc
Створіть базовий c програма 'Привіт Світ!'. Створіть файл 'hello.c' і додайте в нього наступний код:
#include int main() { printf('Hello, world! '); return 0; }
Тепер скомпілюйте hello.c наступним чином:
gcc hello.c
Якщо ми безпосередньо запустимо hello.c, він видасть помилку. Зробіть його виконуваним, типовим виконуваним файлом для системи Linux є a.out. Щоб запустити файл, виконайте команду chmod наступним чином:
chmod a+x a.out
Тепер запустіть програму на C як:
./a.out
Розглянемо наведений нижче результат:
Приклади команд GCC
Деякі корисні приклади команди gcc:
рядок jsonobject
За замовчуванням команда gcc створює об’єктний файл як 'a.out .' Якщо ви хочете змінити назву вихідного файлу за замовчуванням, скористайтеся '-O' варіант.
Давайте виконаємо базову команду gcc:
gcc hello.c
Наведена вище команда створить об’єктний файл «a.out». Щоб вказати ім’я об’єктного файлу, виконайте команду наступним чином:
gcc hello.c -o hello
Це згенерує вихідний файл «hello». Розглянемо наведений нижче результат:
Щоб увімкнути всі попередження у виводі, використовуйте '-Стіна' опція з командою gcc. Давайте створимо змінну в основній функції hello.c. Розглянемо наведений нижче код:
привіт.c:
#include int main() { int a; printf('Hello, world! '); return 0; }
Якщо ми скомпілюємо наведений вище код за допомогою параметра -Wall. Він видасть попередження. Виконайте команду нижче, щоб скомпілювати файл:
gcc -wall hello.c
Наведена вище команда відобразить попередження. Розглянемо наведений нижче результат:
Ми можемо створити лише поетапний результат процесу компіляції.
Створення вихідних даних препроцесора
Ми можемо створювати лише вихідні дані попередньої обробки за допомогою параметра «-E». Розглянемо наведену нижче команду:
gcc -E hello.c > hello.i
З наведеної вище команди файл 'hello.i' який містить попередньо оброблений вихід. Розглянемо наведений нижче результат:
Виготовте код складання
Щоб створити код складання, виконайте команду з параметром '-S'. Розглянемо наведену нижче команду:
gcc -S hello.c > hello.s
Наведена вище команда створить 'hello.s.' файл, який містить код складання. Розглянемо наведений нижче результат:
Створення скомпільованого коду
заблоковані номери
Ми можемо створювати лише скомпільований код, використовуючи параметр «-C». Розглянемо наведену нижче команду:
gcc -C hello.c
Наведена вище команда згенерує файл 'a.out', який містить лише машинний код або скомпільований код. Розглянемо наведений нижче результат:
Створення всіх проміжних файлів процесу компіляції
Ми можемо створювати всі проміжні файли процесу компіляції за допомогою параметра '-save-temp'. Розглянемо наведений нижче результат:
gcc -save-temps hello.c
Наведена вище команда згенерує всі проміжні файли, а також виконувані файли одночасно. Розглянемо наведений нижче результат:
Ми можемо відображати докладну інформацію про кожен крок, виконаний командою gcc. Для цього виконайте команду з параметром '-v'.
gcc -W -v hello.c
Розглянемо наведений нижче знімок виводу:
Ми обговорили кілька найбільш корисних прикладів команди gcc. Оскільки команда gcc має величезну кількість опцій, ви можете застрягти де завгодно під час її використання. Давайте подивимося, як отримати допомогу самостійно з терміналу.
посібник GCC
Якщо ви десь застрягли під час використання команди gcc, ви можете скористатися допомогою свого терміналу. Щоб отримати доступ до посібника з командного рядка, виконайте команду man таким чином:
man gcc
Наведена вище команда відобразить посібник, який містить опис і список підтримуваних опцій із коротким описом. Розглянемо наведений нижче знімок виводу:
ви можете прокручувати вихідні дані, щоб прочитати більше. Натисніть клавішу «h», щоб отримати допомогу, і q, щоб вийти з посібника та повернутися до терміналу.