компілятор gcc

GСС - це вільно доступний оптимізуючий компілятор для мов C, C ++.

Програма gcc. запускається з командного рядка, представяляет собою надбудову над групою компіляторів. Залежно від розширень імен файлів, що передаються в якості параметрів, і додаткових опцій, gcc запускає необхідні препроцесори, компілятори, лінкери.

Файли з розширенням .cc або .C розглядаються, як файли на мові C ++, файли з розширенням .c як програми на мові C, а файли c розширенням .o вважаються об'єктними.

Щоб відкомпілювати вихідний код C ++, що знаходиться в файлі F.cc. і створити об'єктний файл F.o. необхідно виконати команду:

Опція -c означає «тільки компіляція».

Щоб скомпонувати один або кілька об'єктних файлів, отриманих з вихідного коду - F1.o. F2.o. - в єдиний виконуваний файл F. необхідно ввести команду:

gcc -o F F1.o F2.o

Опція -o задає ім'я файлу, що виконується.

Можна поєднати два етапи обробки - компіляцію і компонування - в один загальний етап за допомогою команди:

gcc -o F F1.cc. -lg ++

- можливі додаткові опції компіляції і компоновки. Опція -lg ++ вказує на необхідність підключити стандартну бібліотеку мови С ++, - можливі додаткові бібліотеки.
Після компонування буде створений виконуваний файл F, який можна запустити з допомогою команди ./F . рядок визначає аргументи командного рядка Вашої програми.
В процесі компонування дуже часто доводиться використовувати бібліотеки. Бібліотекою називають набір об'єктних файлів, згрупованих у єдиний файл і проіндексованих. Коли команда компонування виявляє деяку бібліотеку в списку об'єктних файлів для компонування, вона перевіряє, чи показують вже скомпоновані об'єктні файли виклики для функцій, визначених в одному з файлів бібліотек. Якщо такі функції знайдені, відповідні виклики зв'язуються з кодом об'єктного файлу з бібліотеки. Бібліотеки можуть бути підключені за допомогою опції виду -lname. В цьому випадку в стандартних каталогах, таких як / lib. / Usr / lib, / usr / local / lib буде проведено пошук бібліотеки в файлі з ім'ям libname.a. Бібліотеки повинні бути перераховані після вихідних або об'єктних файлів, що містять виклики до відповідних функцій.

Серед безлічі опцій компіляції і компоновки найбільш часто вживаються наступні: