Gcc Linux как работать
Обновлено: 21.11.2024
Обычный способ запустить GCC — запустить исполняемый файл с именем gcc, или machine-gcc при кросс-компиляции, или machine-gcc-version для запуска определенной версии GCC. Когда вы компилируете программы на C++, вы должны вместо этого вызывать GCC как g++. Программа gcc принимает параметры и имена файлов в качестве операндов.
Что делает GCC в Unix?
Командой Unix для компиляции кода C является gcc. Это компилятор от Gnu для Linux. Если вы используете машину Unix, такую как Solaris, вам может понадобиться использовать команду cc.) Когда вы компилируете свою программу, компилятор создает файл, содержащий двоичный код, который может быть непосредственно прочитан машиной, на которой вы работаете.
Как получить gcc?
Как установить последнюю версию GCC в Windows
- Установите Cygwin, который дает нам Unix-подобную среду, работающую в Windows.
- Установите набор пакетов Cygwin, необходимых для сборки GCC.
- Из Cygwin загрузите исходный код GCC, соберите и установите его.
- Протестируйте новый компилятор GCC в режиме C++14, используя параметр -std=c++14.
Что такое GDB в Linux?
gdb — это аббревиатура от GNU Debugger. Этот инструмент помогает отлаживать программы, написанные на C, C++, Ada, Fortran и т. д. Консоль можно открыть с помощью команды gdb на терминале.
Как проверить версию gcc?
Введите «gcc –version» в командной строке, чтобы проверить, установлен ли на вашем компьютере компилятор C. Введите «g++ –version» в командной строке, чтобы проверить, установлен ли на вашем компьютере компилятор C++.
Что такое полная форма gcc?
Совет сотрудничества стран Персидского залива (ССАГПЗ) – политический и экономический союз арабских государств, граничащих с Персидским заливом. Он был основан в 1981 году. В его состав входят 6 членов: Объединенные Арабские Эмираты, Саудовская Аравия, Катар, Оман, Кувейт и Бахрейн.
Как компилировать с помощью gcc?
В этом документе показано, как скомпилировать и запустить программу C в Ubuntu Linux с помощью компилятора gcc.
- Откройте терминал. Найдите терминальное приложение в инструменте Dash (расположенном как самый верхний элемент в Launcher). …
- Используйте текстовый редактор для создания исходного кода C. Введите команду. …
- Скомпилируйте программу. …
- Выполнить программу.
Где GCC в Linux?
Вы должны использовать команду which, чтобы найти двоичный файл компилятора c с именем gcc. Обычно он устанавливается в каталог /usr/bin.
Что такое GCC m32?
-m32 предназначен для компиляции 32-битных объектов компилятором, настроенным на компиляцию 64-битных объектов по умолчанию.
Что такое GCC?
Коллекция компиляторов GNU, широко известная как GCC, представляет собой набор компиляторов и средств разработки, доступных для Linux, Windows, различных BSD и множества других операционных систем. Он включает поддержку в основном C и C++, а также Objective-C, Ada, Go, Fortran и D. Фонд свободного программного обеспечения (FSF) написал GCC и выпустил его как полностью бесплатное (как в libre) программное обеспечение.
История GCC
GCC — это цепочка инструментов, которая компилирует код, связывает его с любыми зависимостями библиотеки, преобразует этот код в сборку, а затем подготавливает исполняемые файлы. Он следует стандартной философии проектирования UNIX, заключающейся в использовании простых инструментов, которые хорошо выполняют отдельные задачи. Пакет разработки GCC использует эти отдельные инструменты для компиляции программного обеспечения.
Когда вы запускаете GCC для файла исходного кода, он сначала использует препроцессор для включения файлов заголовков и удаления комментариев. Затем он токенизирует код, расширяет макросы, обнаруживает любые проблемы во время компиляции, а затем подготавливает их к компиляции. Затем он отправляется компилятору, который создает синтаксические деревья объектов программы и потока управления и использует их для генерации ассемблерного кода. Затем ассемблер преобразует этот код в двоичный исполняемый формат системы. Наконец, компоновщик включает ссылки на любые внешние библиотеки по мере необходимости. Затем готовый продукт можно запустить в целевой системе.
Как это работает?
GCC — это цепочка инструментов, которая компилирует код, связывает его с любыми зависимостями библиотеки, преобразует этот код в сборку, а затем подготавливает исполняемые файлы. Он следует стандартной философии проектирования UNIX, заключающейся в использовании простых инструментов, которые хорошо выполняют отдельные задачи. Пакет разработки GCC использует эти отдельные инструменты для компиляции программного обеспечения.
Когда вы запускаете GCC для файла исходного кода, он сначала использует препроцессор для включения файлов заголовков и удаления комментариев. Затем он токенизирует код, расширяет макросы, обнаруживает любые проблемы во время компиляции, а затем подготавливает их к компиляции. Затем он отправляется компилятору, который создает синтаксические деревья объектов программы и потока управления и использует их для генерации ассемблерного кода.Затем ассемблер преобразует этот код в двоичный исполняемый формат системы. Наконец, компоновщик включает ссылки на любые внешние библиотеки по мере необходимости. Затем готовый продукт можно запустить в целевой системе.
Как скачать GCC?
Почти все дистрибутивы Linux поставляются либо с предварительно установленным GCC, либо с ним в основных репозиториях, что упрощает установку. В дистрибутивах на основе Debian, таких как Debian, Ubuntu и Linux Mint, запустите «apt install build-essentials». .
В дистрибутивах на основе RedHat, таких как RedHat Enterprise Linux, Fedora, CentOS и Amazon Linux, запустите «yum group install «Инструменты разработки»».
В дистрибутивах на основе Arch, таких как Arch и Manjaro, запустите «pacman -S base-devel».
Пользователи macOS могут установить GCC через brew с помощью «brew install gcc».
Инструкции для Windows см. в разделе GCC для Windows.
Возможности GCC
GCC предлагает разработчикам множество функций, включая поддержку нескольких языков, глубокую оптимизацию кода и кроссплатформенную компиляцию. Чтобы узнать больше о возможностях GCC, посетите эту запись в блоге GCC vs Clang.
Примеры GCC
Компиляция программы с помощью GCC может быть простой задачей/
gcc hello.c -о привет
Выполнение этой команды обрабатывает файл hello.c и создает двоичный файл с именем «hello». Можно передавать дополнительные параметры.
gcc hello.c -O3 -o привет
В этом примере для параметра оптимизации установлено значение 3, что приводит к более оптимизированной генерации кода.
Также могут быть включены дополнительные библиотеки.
gcc hello.c -lncurses -o привет
Этот пример включает библиотеку ncurses.
Более сложные компиляции управляются файлами Makefile и вызываются с помощью команды make.
GCC для Windows
GCC – это ядро цепочки инструментов GNU, системы разработки, используемой для компиляции большей части Linux и программного обеспечения с открытым исходным кодом. Хотя есть несколько специальных дистрибутивов, в которых отсутствует GCC, вы найдете его почти в каждой системе Linux. Само ядро Linux в основном скомпилировано с помощью GCC. Ядро Linux и набор инструментов GNU имеют настолько долгую историю, что экосистему Linux обычно называют GNU/Linux.
GCC для Linux
GCC – это ядро цепочки инструментов GNU, системы разработки, используемой для компиляции большей части Linux и программного обеспечения с открытым исходным кодом. Хотя есть несколько специальных дистрибутивов, в которых отсутствует GCC, вы найдете его почти в каждой системе Linux. Само ядро Linux в основном скомпилировано с помощью GCC. Ядро Linux и набор инструментов GNU имеют настолько долгую историю, что экосистему Linux обычно называют GNU/Linux.
- Возможно, самым значительным преимуществом GCC является его лицензия — GPL (Общая общественная лицензия) версии 3, дающая пользователям основные свободы программного обеспечения. Фонд свободного программного обеспечения поддерживает проект, а GCC имеет большое сообщество разработчиков, участников и экосистему поддержки.
- Модульная конструкция GCC упрощает устранение неполадок и обслуживание исходного кода, а также сокращает время внедрения новых функций.
GCC и Incredibuild
GCC работает быстро, но Incredibuild делает GCC еще быстрее. Incredibuild ускоряет разработку с помощью технологии Virtualized Distributed Processing™, превращая каждый хост в суперкомпьютер с сотнями ядер. Благодаря Incredibuild ускоренная разработка продуктов от компиляции до тестирования и автоматизации выпуска позволяет значительно быстрее выпускать более качественные продукты на рынок.
Итог
GNU/Linux, программное обеспечение с открытым исходным кодом и большая часть программного обеспечения Интернета зависят от мощности и универсальности коллекции компиляторов GNU.
сообщить об этом объявлении
Коллекция компиляторов GNU (GCC) — это коллекция компиляторов и библиотек для языков программирования C, C++, Objective-C, Fortran, Ada, Go и D. Многие проекты с открытым исходным кодом, включая инструменты GNU и ядро Linux, компилируются с помощью GCC.
В этом руководстве рассматриваются шаги, необходимые для установки компилятора GCC в Ubuntu 18.04. Мы покажем вам, как установить стабильную версию дистрибутива и последнюю версию GCC.
Те же инструкции применимы к Ubuntu 16.04 и любому дистрибутиву на основе Ubuntu, включая Kubuntu, Linux Mint и Elementary OS.
Чтобы иметь возможность добавлять новые репозитории и устанавливать пакеты в вашей системе Ubuntu, вы должны войти в систему как root или пользователь с привилегиями sudo.
Репозитории Ubuntu по умолчанию содержат метапакет build-essential, содержащий компилятор GCC, а также множество библиотек и других утилит, необходимых для компиляции программного обеспечения.
Выполните следующие действия, чтобы установить компилятор GCC Ubuntu 18.04:
Начните с обновления списка пакетов:
Установите пакет build-essential, введя:
Команда устанавливает набор новых пакетов, включая gcc , g++ и make .
Вы также можете установить справочные страницы по использованию GNU/Linux для разработки:
Чтобы убедиться, что компилятор GCC успешно установлен, используйте команду gcc --version, которая выводит версию GCC:
Версия GCC по умолчанию, доступная в репозиториях Ubuntu 18.04, — 7.4.0:
Вот и все. GCC теперь установлен в вашей системе, и вы можете начать его использовать.
Скомпилировать базовую программу на C или C++ с помощью GCC довольно просто. Откройте текстовый редактор и создайте следующий файл:
Сохраните файл и скомпилируйте его в исполняемый файл с помощью следующей команды:
Это создаст двоичный файл с именем hello в том же каталоге, где вы запускаете команду.
Выполните программу приветствия с помощью:
Программа должна напечатать:
В этом разделе приведены инструкции по установке и использованию нескольких версий GCC в Ubuntu 18.04. Более новые версии компилятора GCC включают поддержку новых языков, улучшенную производительность и расширенные функции.
На момент написания этой статьи репозитории Ubuntu по умолчанию включали несколько версий GCC, от 5.x.x до 8.x.x . Последняя версия GCC 9.1.0 доступна в Ubuntu Toolchain PPA.
В следующем примере мы установим три последние версии GCC и G++.
Сначала добавьте PPA-репозиторий ubuntu-toolchain-r/test в свою систему с помощью:
Установите нужные версии GCC и G++, введя:
Приведенные ниже команды настроят альтернативу для каждой версии и назначат ей приоритет. Версия по умолчанию имеет наивысший приоритет, в нашем случае это gcc-9 .
Позже, если вы захотите изменить версию по умолчанию, используйте команду update-alternatives:
Вам будет представлен список всех установленных версий GCC в вашей системе Ubuntu. Введите номер версии, которую вы хотите использовать по умолчанию, и нажмите Enter .
Команда создаст символические ссылки на определенные версии GCC и G++.
Вы успешно установили GCC на Ubuntu 18.04. Теперь вы можете посетить официальную страницу документации GCC и узнать, как использовать GCC и G++ для компиляции программ на C и C++.
В этом руководстве вы настроите Visual Studio Code для использования компилятора GCC C++ (g++) и отладчика GDB в Linux. GCC означает сборник компиляторов GNU; GDB — это отладчик GNU.
После настройки VS Code вы скомпилируете и отладите простую программу на C++ в VS Code. Этот учебник не учит вас GCC, GDB, Ubuntu или языку C++. По этим темам в Интернете доступно множество хороших ресурсов.
Если у вас возникли проблемы, не стесняйтесь сообщить о проблеме для этого руководства в репозитории документации VS Code.
Предпосылки
Чтобы успешно завершить это руководство, необходимо сделать следующее:
Установите расширение C++ для VS Code. Вы можете установить расширение C/C++, выполнив поиск «c++» в представлении «Расширения» ( ⇧⌘X (Windows, Linux Ctrl+Shift+X )).
Убедитесь, что GCC установлен
Хотя для редактирования исходного кода вы будете использовать VS Code, исходный код будет компилироваться в Linux с помощью компилятора g++. Вы также будете использовать GDB для отладки. Эти инструменты не установлены по умолчанию в Ubuntu, поэтому их необходимо установить. К счастью, это легко.
Сначала проверьте, не установлен ли уже GCC. Чтобы проверить, так ли это, откройте окно терминала и введите следующую команду:
Если GCC не установлен, выполните следующую команду из окна терминала, чтобы обновить списки пакетов Ubuntu. Устаревший дистрибутив Linux иногда может мешать попыткам установить новые пакеты.
Затем установите инструменты компилятора GNU и отладчик GDB с помощью этой команды:
Создать Hello World
В окне терминала создайте пустую папку с именем Projects для хранения ваших проектов VS Code. Затем создайте подпапку helloworld , перейдите в нее и откройте VS Code в этой папке, введя следующие команды:
Код . Команда открывает VS Code в текущей рабочей папке, которая становится вашей «рабочей областью». По ходу обучения вы создадите три файла в папке .vscode в рабочей области:
- tasks.json (настройки сборки компилятора)
- launch.json (настройки отладчика)
- c_cpp_properties.json (путь к компилятору и настройки IntelliSense)
Добавить файл исходного кода hello world
В строке заголовка проводника выберите «Новый файл» и назовите файл helloworld.cpp .
Вставьте следующий исходный код:
Теперь нажмите ⌘S (Windows, Linux Ctrl+S ), чтобы сохранить файл. Обратите внимание, что ваши файлы перечислены в представлении «Проводник» ( ⇧⌘E (Windows, Linux Ctrl+Shift+E ) ) на боковой панели VS Code:
Вы также можете включить функцию "Автосохранение" для автоматического сохранения изменений в файле, установив флажок "Автосохранение" в главном меню "Файл".
Панель действий на краю Visual Studio Code позволяет открывать различные представления, например "Поиск", "Управление версиями" и "Выполнение". Вы познакомитесь с представлением «Выполнить» позже в этом руководстве. Дополнительные сведения о других представлениях см. в документации по пользовательскому интерфейсу VS Code.
Примечание. Когда вы сохраняете или открываете файл C++, вы можете увидеть уведомление от расширения C/C++ о доступности версии Insiders, которая позволяет протестировать новые функции и исправления. Вы можете проигнорировать это уведомление, выбрав X (Удалить уведомление).
Исследуйте IntelliSense
В файле helloworld.cpp наведите указатель мыши на вектор или строку, чтобы увидеть информацию о типе. После объявления переменной msg начните вводить msg. как при вызове функции-члена. Вы должны немедленно увидеть список завершения, который показывает все функции-члены, и окно, которое показывает информацию о типе для объекта msg:
Вы можете нажать клавишу Tab, чтобы вставить выбранный элемент. Затем, когда вы добавите открывающую скобку, вы увидите информацию об аргументах, которые требуются функции.
Сборка helloworld.cpp
Далее вы создадите файл tasks.json, чтобы указать VS Code, как собирать (компилировать) программу. Эта задача вызовет компилятор g++ для создания исполняемого файла из исходного кода.
Важно, чтобы файл helloworld.cpp был открыт в редакторе, поскольку на следующем шаге активный файл в редакторе используется в качестве контекста для создания задачи сборки на следующем шаге.
В главном меню выберите «Терминал» > «Настроить задачу сборки по умолчанию». Появится раскрывающийся список, показывающий различные предопределенные задачи сборки для компиляторов C++. Выберите C/C++: активный файл сборки g++.
Это создаст файл tasks.json в папке .vscode и откроет его в редакторе.
Ваш новый файл tasks.json должен выглядеть примерно так, как показано ниже:
Примечание. Подробнее о переменных tasks.json можно узнать в справочнике по переменным.
Настройка команды определяет программу для запуска; в данном случае это g++. Массив args указывает аргументы командной строки, которые будут переданы g++. Эти аргументы должны быть указаны в порядке, ожидаемом компилятором.
Эта задача указывает g++ взять активный файл ( $ ), скомпилировать его и создать исполняемый файл в текущем каталоге ( $ ) с тем же именем, что и у активного файла, но без расширения ( $ ), в результате чего появляется helloworld для нашего примера.
Значение ярлыка — это то, что вы увидите в списке задач; вы можете назвать это как хотите.
Значение isDefault: true в групповом объекте указывает, что эта задача будет запущена при нажатии ⇧⌘B (Windows, Linux Ctrl+Shift+B ). Это свойство предназначено только для удобства; если вы установите для него значение false, вы все равно сможете запустить его из меню терминала с помощью Tasks: Run Build Task.
Запуск сборки
Вернитесь к файлу helloworld.cpp . Ваша задача создает активный файл, и вы хотите построить helloworld.cpp .
Чтобы запустить задачу сборки, определенную в tasks.json , нажмите ⇧⌘B (Windows, Linux Ctrl+Shift+B ) или в главном меню терминала выберите Запустить задачу сборки.
При запуске задачи под редактором исходного кода должна появиться панель встроенного терминала. После завершения задачи терминал показывает выходные данные компилятора, указывающие на то, была ли сборка успешной или неудачной. Для успешной сборки g++ вывод выглядит примерно так:
Создайте новый терминал с помощью кнопки +, и у вас будет терминал с запущенной оболочкой по умолчанию с папкой helloworld в качестве рабочего каталога. Запустите ls, и теперь вы должны увидеть исполняемый файл helloworld (без расширения файла).
Вы можете запустить helloworld в терминале, набрав ./helloworld .
Изменение tasks.json
Вы можете изменить файл tasks.json для создания нескольких файлов C++, используя такой аргумент, как "$/*.cpp" вместо $ . Вы также можете изменить имя выходного файла, заменив "$/$" жестко заданным именем файла (например, "helloworld.out").
Отладка файла helloworld.cpp
Далее вы создадите файл launch.json, чтобы настроить VS Code для запуска отладчика GDB при нажатии F5 для отладки программы.
В главном меню выберите «Выполнить» > «Добавить конфигурацию».а затем выберите C++ (GDB/LLDB).
После этого вы увидите раскрывающийся список для различных предопределенных конфигураций отладки. Выберите активный файл сборки и отладки g++.
VS Code создает файл launch.json, открывает его в редакторе, строит и запускает "helloworld".
В приведенном выше JSON программа указывает программу, которую нужно отлаживать. Здесь указывается активная папка с файлами $ и активное имя файла без расширения $, которое, если активным файлом является helloworld.cpp, будет helloworld.
По умолчанию расширение C++ не будет добавлять точки останова в исходный код, а для параметра stopAtEntry установлено значение false .
Измените значение stopAtEntry на true, чтобы отладчик останавливался на основном методе при запуске отладки.
Начать сеанс отладки
- Вернитесь к файлу helloworld.cpp, чтобы он стал активным.
- Нажмите F5 или в главном меню выберите «Выполнить» > «Начать отладку». Прежде чем вы приступите к выполнению кода, обратите внимание на несколько изменений в пользовательском интерфейсе:
Интегрированный терминал отображается в нижней части редактора исходного кода. На вкладке «Вывод отладки» вы видите вывод, указывающий на то, что отладчик запущен и работает.
Редактор выделяет первый оператор в основном методе. Это точка останова, которую расширение C++ автоматически устанавливает для вас:
В представлении «Выполнение» слева отображается отладочная информация. Вы увидите пример позже в этом руководстве.
В верхней части редактора кода появляется панель управления отладкой. Вы можете перемещать его по экрану, хватая точки с левой стороны.
Пошаговое выполнение кода
Теперь вы готовы приступить к выполнению кода.
Щелкните или нажмите значок "Переход" на панели управления отладкой.
Это перенесет выполнение программы на первую строку цикла for и пропустит все вызовы внутренних функций в векторных и строковых классах, которые вызываются при создании и инициализации переменной msg. Обратите внимание на изменение в окне «Переменные» сбоку.
Нажмите Step over еще раз, чтобы перейти к следующему оператору в этой программе (пропустив весь внутренний код, который выполняется для инициализации цикла). Теперь в окне «Переменные» отображается информация о переменных цикла.
Снова нажмите Step, чтобы выполнить оператор cout. (Обратите внимание, что в выпуске за март 2019 г. расширение C++ не выводит никаких выходных данных в консоль отладки до тех пор, пока не будет выполнен последний cout.)
Если хотите, вы можете продолжать нажимать Step over до тех пор, пока все слова в векторе не будут напечатаны на консоли. Но если вам интересно, попробуйте нажать кнопку Step Into, чтобы просмотреть исходный код в стандартной библиотеке C++!
Чтобы вернуться к собственному коду, один из способов – продолжать нажимать кнопку "Перейти". Другой способ — установить точку останова в вашем коде, переключившись на вкладку helloworld.cpp в редакторе кода, поместив точку вставки где-нибудь в операторе cout внутри цикла и нажав F9. Красная точка появляется в поле слева, указывая на то, что в этой строке установлена точка останова.
Затем нажмите F5, чтобы начать выполнение с текущей строки в заголовке стандартной библиотеки. Выполнение прервется на cout . Если хотите, вы можете снова нажать F9, чтобы отключить точку останова.
Когда цикл завершится, вы увидите выходные данные на вкладке "Консоль отладки" встроенного терминала вместе с некоторой другой диагностической информацией, которую выводит GDB.
Настроить часы
Чтобы отслеживать значение переменной во время выполнения вашей программы, установите наблюдение за переменной.
Поместите точку вставки внутри цикла. В окне Watch щелкните знак «плюс» и в текстовом поле введите слово, которое является именем переменной цикла. Теперь просмотрите окно Watch, когда будете проходить цикл.
Чтобы быстро просмотреть значение любой переменной, пока выполнение приостановлено в точке останова, вы можете навести на нее указатель мыши.
Конфигурации C/C++
Если вам нужен больший контроль над расширением C/C++, вы можете создать файл c_cpp_properties.json, который позволит вам изменять такие параметры, как путь к компилятору, включаемые пути, стандарт C++ (по умолчанию C++ 17) и многое другое.
Вы можете просмотреть пользовательский интерфейс конфигурации C/C++, выполнив команду C/C++: Edit Configurations (UI) из палитры команд ( ⇧⌘P (Windows, Linux Ctrl+Shift+P )).
При этом открывается страница конфигураций C/C++. Когда вы вносите здесь изменения, VS Code записывает их в файл с именем c_cpp_properties.json в папке .vscode.
Вам нужно изменить параметр «Включить путь», только если ваша программа включает файлы заголовков, которые не находятся в вашей рабочей области или в пути стандартной библиотеки.
Visual Studio Code помещает эти параметры в файл .vscode/c_cpp_properties.json . Если вы откроете этот файл напрямую, он должен выглядеть примерно так:
Повторное использование конфигурации C++
VS Code теперь настроен на использование gcc в Linux. Конфигурация применяется к текущей рабочей области. Чтобы повторно использовать конфигурацию, просто скопируйте файлы JSON в папку .vscode в новой папке проекта (рабочей области) и при необходимости измените имена исходных файлов и исполняемого файла.
Читайте также: