G++

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Компілятор G++ — C++ компілятор (традиційно позначається як GNU C++), є частиною GCC — колекції компіляторів GNU. Використання його команди майже зовсім схоже на GCC.

Застосування[ред. | ред. код]

g++ дозволяє компілювати програмний код в об'єктні модулі, а також виконати лінкування цих модулів у єдину програму. Компілятор бере до уваги ім'я файлу, щоб визначити мову програмування на якій написаний код.

Файли з іменами *.cc (або *.cpp) розпізнаються компілятором як C++ файли, а файли з іменами *.o (в системах Linux) інтерпретуються компілятором як об'єктні модулі (тобто машинний код).

Типова команда трансляції файлу із C++ кодом (наприклад названим як file.cpp), у відповідний об'єктний файл виглядає так:

g++ -c file.cpp

Прапорці[ред. | ред. код]

Назва Застосування
-c Створюються лише об'єктні модулі із заданих програмних файлів, без лінкування.
-D назва=значення Дозволяє задавати значення макросів при компіляції. Частина прапорців «=значення» може бути не задана, тоді довільним значення макроса буде 1.
-o ім'я_файлу Задає ім'я файлу як ім'я результуючого файлу який буде створений в результаті роботи команди g++ (зазвичай це ім'я виконуваного файлу програми).
-l ім'я_бібліотеки Задає ім'я бібліотеки, яка буде створення в результаті роботи g++
-g Вимагає від компілятора вносити відлагоджувальну інформацію у виконуваний файл для gdb. Має бути заданий і для компіляції і для лінкування.
-MM Дає команду препроцесору виводити правила для команди make, що описують залежності кожного програмного файлу від заголовкових файлів.
-pg Породжує допоміжний код для запису інформації профілювання, що може використовуватися програмою-аналізатором gprof. Має бути заданий і для компіляції і для лінкування.
-Wall Дає команду видавати список попереджень про небажані, але дозволені операції і конструкції в коді. Рекомендується завжди включати цю опцію, щоб знати джерела можливих помилок у програмі.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]