logo

GCC Linux

У 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 компілює та робить виконувану програму за наступними чотирма кроками:

GCC Linux

Попередня обробка: На цьому кроці препроцесор 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 

Він запитає пароль адміністратора системи, введіть пароль. Почнеться оновлення пакета системи. Розглянемо наведений нижче знімок виводу:

GCC Linux

Крок 2: інсталюйте пакет build-essential.

Він містить різні пакунки, такі як gcc, g++ і утиліта make. Виконайте наведену нижче команду, щоб установити його:

 sudo apt install build-essential 

Наведена вище команда встановить необхідні пакунки для утиліти GCC. Тепер ми можемо використовувати утиліту GCC на нашій машині. Розглянемо наведений нижче знімок виводу:

GCC Linux

Крок 3. Перевірте встановлення.

Щоб перевірити встановлення, виконайте команду gcc -version наступним чином:

 gcc --version 

Відобразиться встановлена ​​версія утиліти GCC. Щоб відобразити докладнішу інформацію про версію, використовуйте опцію «-v». Розглянемо наведений нижче результат:

GCC Linux

Ось ми успішно встановили утиліту 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 Linux

Приклади команд GCC

Деякі корисні приклади команди gcc:

рядок jsonobject
    Вкажіть ім'я об'єктного файлу

За замовчуванням команда gcc створює об’єктний файл як 'a.out .' Якщо ви хочете змінити назву вихідного файлу за замовчуванням, скористайтеся '-O' варіант.

Давайте виконаємо базову команду gcc:

 gcc hello.c 

Наведена вище команда створить об’єктний файл «a.out». Щоб вказати ім’я об’єктного файлу, виконайте команду наступним чином:

 gcc hello.c -o hello 

Це згенерує вихідний файл «hello». Розглянемо наведений нижче результат:

GCC Linux
    Увімкнути всі попередження

Щоб увімкнути всі попередження у виводі, використовуйте '-Стіна' опція з командою gcc. Давайте створимо змінну в основній функції hello.c. Розглянемо наведений нижче код:

привіт.c:

 #include int main() { int a; printf('Hello, world!
'); return 0; } 

Якщо ми скомпілюємо наведений вище код за допомогою параметра -Wall. Він видасть попередження. Виконайте команду нижче, щоб скомпілювати файл:

 gcc -wall hello.c 

Наведена вище команда відобразить попередження. Розглянемо наведений нижче результат:

GCC Linux
    Створення поетапного виведення процесу компіляції

Ми можемо створити лише поетапний результат процесу компіляції.

Створення вихідних даних препроцесора

Ми можемо створювати лише вихідні дані попередньої обробки за допомогою параметра «-E». Розглянемо наведену нижче команду:

 gcc -E hello.c > hello.i 

З наведеної вище команди файл 'hello.i' який містить попередньо оброблений вихід. Розглянемо наведений нижче результат:

GCC Linux

Виготовте код складання

Щоб створити код складання, виконайте команду з параметром '-S'. Розглянемо наведену нижче команду:

 gcc -S hello.c > hello.s 

Наведена вище команда створить 'hello.s.' файл, який містить код складання. Розглянемо наведений нижче результат:

GCC Linux

Створення скомпільованого коду

заблоковані номери

Ми можемо створювати лише скомпільований код, використовуючи параметр «-C». Розглянемо наведену нижче команду:

 gcc -C hello.c 

Наведена вище команда згенерує файл 'a.out', який містить лише машинний код або скомпільований код. Розглянемо наведений нижче результат:

GCC Linux

Створення всіх проміжних файлів процесу компіляції

Ми можемо створювати всі проміжні файли процесу компіляції за допомогою параметра '-save-temp'. Розглянемо наведений нижче результат:

 gcc -save-temps hello.c 

Наведена вище команда згенерує всі проміжні файли, а також виконувані файли одночасно. Розглянемо наведений нижче результат:

GCC Linux
    Роздрукуйте вихідні дані докладно.

Ми можемо відображати докладну інформацію про кожен крок, виконаний командою gcc. Для цього виконайте команду з параметром '-v'.

 gcc -W -v hello.c 

Розглянемо наведений нижче знімок виводу:

GCC Linux

Ми обговорили кілька найбільш корисних прикладів команди gcc. Оскільки команда gcc має величезну кількість опцій, ви можете застрягти де завгодно під час її використання. Давайте подивимося, як отримати допомогу самостійно з терміналу.

посібник GCC

Якщо ви десь застрягли під час використання команди gcc, ви можете скористатися допомогою свого терміналу. Щоб отримати доступ до посібника з командного рядка, виконайте команду man таким чином:

 man gcc 

Наведена вище команда відобразить посібник, який містить опис і список підтримуваних опцій із коротким описом. Розглянемо наведений нижче знімок виводу:

GCC Linux

ви можете прокручувати вихідні дані, щоб прочитати більше. Натисніть клавішу «h», щоб отримати допомогу, і q, щоб вийти з посібника та повернутися до терміналу.