Как установить dev c на линуксе

Обновлено: 06.07.2024

Как установить компилятор GNU / GCC (C и C ++) и связанные с ним инструменты (например, make, debugger, man pages) в операционной системе Ubuntu Linux с использованием параметров командной строки?

Вам необходимо установить следующие пакеты на Debian и Ubuntu Linux:

  1. libc6-dev – стандартная C библиотека.
  2. gcc – C компилятор.
  3. g++ – C++ компилятор.
    1. make – GNU делает утилиту для поддержки групп программ.
    2. dpkg-dev – Инструменты разработки пакетов Debian.

    В принципе, build-essential пакет содержит информационный список пакетов, которые считаются необходимыми для создания пакетов Ubuntu, включая gcc-компилятор, make и другие необходимые инструменты. Этот пакет также зависит от пакетов в этом списке, чтобы упростить установку build-essential пакетов. В этом руководстве вы узнаете об установке компилятора GNU C и компилятора GNU C ++ на Ubuntu Linux.

    3 января стартует курс «SQL-injection Master» © от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 10 января. Подробнее .

    Установка компиляторов с помощью команды apt

    Откройте приложение терминала и введите следующее apt command /apt-get command :

    Пример вывода данных:

    Установка GNU GCC Компилятора и среды разработки на Ubuntu Linux

    Рис.01: Как я устанавливаю инструменты разработки на Ubuntu Linux?

    Проверка установки

    Введите следующую команду:

    Установка компиляторов с помощью команды apt

    Рис.02: Поиск установленной версии make и gcc

    Установка страниц dev man на Ubuntu Linux

    Введите следующую команду:

    Чтобы посмотреть запросы библиотеки (функция в библиотеках программы) введите:

    Установка компиляторов разработки X11

    Введите следующую команду:

    Это интересно:

    1 декабря стартует зимний поток курса " Тестирование Веб-Приложений на проникновение " от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. На курс можно записаться до 10 декабря включительно. Подробнее .


    После установки необходимых инструментов разработки проверьте их с помощью одной из следующих команд:

    Эти команды отобразят путь установки и версию компилятора gcc.


    Компиляция и запуск программ на C, C ++ на Linux

    Во-первых, давайте посмотрим, как скомпилировать и запустить простую программу, написанную на языке Си.

    Напишите свой код / программу в вашем любимом редакторе CLI / GUI.

    Я собираюсь написать свою программу на C, используя редактор nano.

    Примечание: вам нужно использовать расширение .c для программ на C или .cpp для программ на C ++.

    Нажмите Ctrl + O и Ctrl + X, чтобы сохранить и выйти из файла. Если в вашем коде / программе есть какие-либо синтаксические или семантические ошибки, они будут отображены.

    Если ошибки нет, компилятор успешно сгенерирует исполняемый файл с именем itisgood в текущем рабочем каталоге.

    Наконец, выполните программу, используя команду:

    Вы увидите вывод, как показано ниже:

    Чтобы скомпилировать несколько исходных файлов (например, source1 и source2) в исполняемый файл, запустите:

    Чтобы разрешить предупреждения, отладьте символы в выводе:

    Чтобы скомпилировать исходный код в инструкции ассемблера:

    Чтобы скомпилировать исходный код без ссылок:

    Приведенная выше команда создаст исполняемый файл с именем source.o.

    Если ваша программа содержит математические функции:

    Для более подробной информации обратитесь к справочным страницам.

    Компиляция и запуск программ C ++

    Напишите свою программу на C ++ в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.

    Вот простая программа на C ++.

    Чтобы скомпилировать эту программу C ++ в Linux, просто запустите:

    Если ошибок не было, вы можете запустить эту программу C ++ под Linux, используя команду:

    Вы увидите вывод, как показано ниже:

    В качестве альтернативы, мы можем скомпилировать вышеуказанную программу на C ++, используя команду «make», как показано ниже.

    Я не использовал расширение .cpp в приведенной выше команде для компиляции программы.

    Нет необходимости использовать расширение для компиляции программ на C ++ с помощью команды make.

    Расширение Visual C++ for Linux Development позволяет создавать решения на C++ для серверов, настольных ПК и устройств под управлением Linux. Управлять подключениями к ним можно непосредственно в Visual Studio. VS будет автоматически копировать и удалённо собирать исходный код программ. Также среда позволяет запустить ваше приложение в режиме отладки. Система управления проектами поддерживает создание решений для конкретных архитектур, в том числе APM. Под катом мы расскажем, как начать работу с новыми проектами для Linux.




    Пока расширение поддерживает только удалённую сборку на целевом компьютере с Linux. Ограничений на дистрибутив Linux нет, но в системе должны быть установлены определённые инструменты. В частности, вам потребуются openssh-server, g++, gdb и gdbserver. Установите их с помощью любого диспетчера пакетов. Например, в системах, основанных на Debian, для этого можно воспользоваться командой:

    Оглавление

    Установка

    Скачайте расширение Visual C++ for Linux Development или установите его с помощью диспетчера расширений Visual Studio.

    Чтобы начать работу, создайте новый проект и выберите Templates > Visual C++ > Cross Platform > Linux.


    На данный момент доступны три шаблона: Blink (для устройств Интернета вещей — например, Raspberry Pi), Console Application (консольное приложение, практически пустой каркас для вашего кода) и Empty (пустой шаблон для самостоятельного добавления файлов с исходным кодом и настроек).

    Ваш первый Linux-проект в VS

    Для начала создадим консольное приложение. Создайте проект на основе этого шаблона и добавьте точку останова на строке printf. Потом нажмите F5 или щёлкните кнопку Remote GDB Debugger. По умолчанию для консольного приложения будет выбрана конфигурация debug/x64. Если архитектура удалённого целевого компьютера — x86 или ARM, то эти настройки нужно будет изменить. В этом примере я буду использовать виртуальную машину x64 Ubuntu.

    Поскольку мы впервые собираем решение для компьютера с Linux, среда запросит сведения о подключении. Соответствующая форма открывается при попытке сборки проекта.


    Дополнение поддерживает авторизацию по паролю или сертификату, в том числе посредством парольных фраз с сертификатами. Информация об успешном подключении сохраняется для последующих подключений. Чтобы управлять сохраненными подключениями, выберите Tools → Options → Cross Platform → Linux. Да, пароли и парольные фразы хранятся в зашифрованном виде. В будущем обновлении мы собираемся добавить возможность подключения без сохранения данных о нём.

    После подключения ваши файлы с исходным кодом будут скопированы на удалённый компьютер Linux, и расширение запустит gcc для их сборки с параметрами, указанными в свойствах проекта. После успешной сборки ваш код запустится на удалённой машине и будет работать, пока не достигнет ранее заданной точки останова.


    Свойства проектов Linux

    Чтобы понять, где именно на удалённом компьютере Linux развёртываются файлы, заглянем в свойства проекта.


    Как указано в Remote settings, по умолчанию в качестве корневой папки на удалённом компьютере используется каталог

    /projects/, а имя удалённого каталога проекта соответствует названию нашего проекта. Если мы просмотрим содержимое каталогов на удалённом компьютере Linux, то найдём main.cpp и файлы, сгенерированные в процессе сборки, в папке

    В разделе General указаны пути к выходному каталогу и промежуточным файлам. Кроме того, как вы видите, для проекта задан тип конфигурации Application. Поэтому исполняемый файл сохраняется в каталог bin/x64/Debug/ под именем ConsoleApplication1.out. Обратите внимание: доступны два других типа конфигурации — статическая и динамическая библиотека.

    Окно консоли

    Работать с удалёнными исполняемыми файлами можно через окно консоли. В этом окне можно просматривать результат работы программы и вводить входные данные. Чтобы активировать это окно, выберите Debug → Linux Console. Вот как это выглядит на практике.

    Ниже приводится код простой программы — воспользуйтесь им, чтобы поработать с консолью самостоятельно.


    В свойствах проекта на странице Debugging в поле Command Arguments укажите имя файла. На этой странице также можно изменить рабочую папку, если ваш домашний каталог по какой-то причине не подходит.

    IoT-проекты для Linux

    Теперь рассмотрим работу с устройством Интернета вещей — Raspberry Pi. Расширение поддерживает любые устройства Pi под управлением Raspbian. В нашем шаблоне Blink мы будем использовать wiringPi — если у вас нет такой системы, её можно установить через apt или из исходного кода. Чтобы добавить подключение, выберите Tools → Options и в поле поиска введите Linux. Теперь нажмите Add, чтобы подключиться к устройству Raspberry Pi.

    Откройте свойства проекта и в разделе Build Events найдите категорию Remote Post-Build Events.


    В этих параметрах можно задать выполнение команды на удалённом компьютере Linux после завершения сборки. Данный шаблон изначально настроен так, чтобы экспортировать контакт GPIO для светодиодного индикатора — благодаря этому исполняемый файл не потребуется запускать как корень.

    Теперь подключите к контакту 17 вашего Raspberry Pi светодиодный индикатор, как показано ниже.


    Откройте файл main.cpp и задайте точку останова для вызова delay после первой инструкции digitalWrite. Нажмите F5. При достижении точки останова выполнение приостановится. При этом светодиод будет гореть. Продолжите выполнение кода до следующего вызова digitalWrite. На нём светодиод погаснет.

    Как работать с платой Intel Edison посредством расширения VC++ for Linux

    Работа с платой Intel Edison посредством расширения VC++ for Linux практически не отличается от использования других систем Linux. В первую очередь необходимо настроить плату в соответствии с инструкциями от Intel. После подсоединения Edison к сети Wi-Fi вы сможете подключиться к нему с помощью нашего диспетчера подключений. Если требуется подсоединиться к Edison напрямую, воспользуйтесь инструкциями по подключению к Edison посредством Ethernet через USB — наш диспетчер подключений поддерживает и такой вариант.

    Edison позволяет с лёгкостью начать создавать IoT-приложение, которое обрабатывает данные от датчиков. Такие устройства, как платы расширения Arduino, позволят без проблем подключать дополнительные модули, например, плату расширения Grove от Seeed Studios. Эта плата расширения поможет работать с множеством доступных датчиков Grove, не заботясь о разводке проводов для подключения к макетной плате, — вы сможете сразу приступить к написанию кода. Компания Intel выпустила библиотеку датчиков UPM, которая делает задачу ещё проще: она обеспечивает поддержку широкого спектра датчиков, в том числе Grove.

    На изображении показан вычислительный модуль Edison на схеме Arduino с подсоединенной платой расширения Grove и подключенным датчиком температуры.


    Создайте в Visual Studio новый проект. Выберите VC++ → Cross Platform → Linux → Empty Project. При сборке решений для Edison в качестве платформы решения нужно выбрать x86. Добавьте в проект файл C++. Воспользуйтесь кодом из примера Grove Temperature Sample от Intel. Библиотеки UPM включены в образ Yocto Linux, который используется в Edison по умолчанию, поэтому дополнительно их устанавливать не нужно. Измените параметры include, указав соответствующее расположение файлов.


    После этого код можно будет собрать и выполнить. Здесь показан результат работы этого примера в режиме отладки Visual Studio. Возможно, вас смутила первая строчка вывода. Дело в том, что первая попытка чтения данных с датчиков этого типа обычно дает не совсем точный результат.


    Чтобы включить IntelliSense, следуйте инструкциям ниже. Вам потребуется скопировать подключаемые файлы с Edison в локальную среду. Пока IntelliSense работает с ошибкой, которая проявляется в этом примере. В будущем обновлении это будет исправлено.

    Классические приложения

    Итак, мы рассмотрели создание приложений для систем без мониторов и для специализированных устройств под управлением Linux. Но как же настольные ПК? Мы подготовили для вас кое-что особенное. Сейчас мы запустим приложение OpenGL на настольном ПК под управлением Linux. Вначале убедитесь, что ваш ПК с Linux должным образом настроен для разработки OpenGL-решений. Мы использовали следующие пакеты apt: libgles1-mesa, libgles1-mesa-dev, freeglut3, freeglut3-dev.


    В поле Linker Input укажите зависимости библиотек: «m;GL;GLU;glut».

    Убедитесь, что в настройках удалённого подключения указан нужный компьютер.

    Теперь нажмите F5.

    Чтобы получить интересные результаты, можно поместить точку останова примерно на строку 80, где задаётся вращение куба (попробуйте изменить значение alpha), или на вызов KeyboardFunc, где можно просматривать значения нажатой клавиши.

    Шаблон проекта Makefile

    Шаблон проекта Makefile позволяет использовать на удалённом компьютере внешние системы сборки (make, gmake, CMake, сценарии bash и тому подобное). Это работает примерно так: на странице свойств проекта C++ вы можете настроить локальные пути Intellisense, затем на странице свойств удалённой сборки добавить команды (разделённые точкой с запятой), инициирующие вашу сборку на удалённом компьютере. В этом примере мы переходим в удалённый каталог, где находится сценарий сборки, и запускаем его.

    Здесь объединены несколько сценариев bash, которые способны генерировать проект файла makefile на основе ваших файлов с исходным кодом с учётом структуры каталогов. В этих сценариях предполагается, что исходный код на компьютере Linux находится в каталоге, который сопоставлен Windows. Они устанавливают новый флаг в свойствах проекта, чтобы не копировать файлы удалённо. Вряд ли такой вариант подойдёт для всех задач, но он должен стать хорошей отправной точкой для крупного проекта.


    Советы по использованию

    Советы из этого раздела помогут вам эффективнее использовать расширение.

    Подробный журнал сборки

    Где взять подключаемые файлы

    Все любят IntelliSense, но синхронизацию подключаемых файлов из вашей системы Linux мы пока не реализовали. Все передают и копируют эти файлы по-своему, и это хорошо. Мы расскажем об очень простом способе: просто копируйте всю папку в локальную систему Windows через PSCP.


    Теперь откройте свойства проекта, перейдите в раздел VC++ Directories и добавьте локальный путь.

    Управление копированием удалённых файлов

    На уровне файлов и проектов можно указать, требуется ли удалённо копировать файл. Благодаря этому вы можете использовать имеющиеся механизмы сборки, просто сопоставив существующие ресурсы локально и добавив их в ваш проект для редактирования и отладки.


    Переопределение пути к компилятору C/C++

    В окне Property Pages вы можете переопределить команды компилятора, которые будут использоваться на удалённом компьютере. Так при необходимости вы сможете выбрать конкретные версии GCC или даже другой компилятор — например, clang. Можно указать как полные пути, так и доступные команды.


    События сборки

    В разделе Build Events свойств проекта доступны новые типы событий — запускаемые перед сборкой и компоновкой, а также средства копирования произвольных файлов при любых событиях сборки. С помощью этих инструментов вы можете гибко управлять процессом.


    Варианты отладки

    Расширение поддерживает не только gdbserver, но и режим gdb, который позволяет повысить совместимость, если подходящих бинарных файлов клиента gdb для удалённой цели в Windows нет.


    Кроме того, вы можете переопределить саму команду отладчика. Это удобно для отладки внешних программ, сборка которых была выполнена не в VS.


    Большинство программ в Linux написаны на C или С++, и если вы хотите собирать их из исходников, то вам обязательно понадобиться компилятор, также он понадобиться, если захотите начать писать свои программы на одном из этих языков.

    Существует два основных компилятора в Linux - это GCC и Clang, они похожи по своим возможностям, но так сложилось, что первый считается стандартом для Ubuntu. GCC расшифровывается как GNU Compiler Collection. В этой статье мы рассмотрим, как выполняется установка GCC в Ubuntu, а также рассмотрим базовые приемы работы с этим набором программ в терминале.

    Набор компиляторов GCC

    Все программы представляют собой набор машинных команд, которые выполняются процессором. Эти команды - последовательность бит. Но писать программы наборами бит очень неудобно, поэтому были придуманы языки программирования высокого уровня. Код на языке программирования хорошо читаем и понятен для человека, а когда из него нужно сделать программу, компилятор ubuntu преобразует все в машинные команды.

    В базовую поставку компилятора входят такие программы:

    • libc6-dev - заголовочные файлы стандартной библиотеки Си;
    • libstdc++6-dev - заголовочные файлы стандартной библиотеки С++;
    • gcc - компилятор языка программирования Си;
    • g++ - компилятор языка программирования C++;
    • make - утилита для организации сборки нескольких файлов;
    • dpkg-dev - инструменты сборки пакетов deb.

    Все эти пакеты являются зависимостями пакета build-essential, поэтому для установки всего необходимого достаточно установить этот пакет.

    Установка GCC в Ubuntu

    Если вас устраивает текущая версия GCC, которая есть в официальных репозиториях дистрибутива, то вам достаточно установить пакет build-essential. Для этого выполните команду:

    sudo apt -y install build-essential

    H1BJ+aA10chuAAAAAElFTkSuQmCC

    После завершения установки все необходимое для компиляции программ будет установлено. И вы сможете использовать компилятор. Рассмотрим версии и расположение файлов компилятора:

    whereis gcc make

    YAsEijQilh3P8XzVqal8hwFiAAAAAASUVORK5CYII=

    mQ1aHDHAAAAAElFTkSuQmCC

    yELAAAAAElFTkSuQmCC

    Если необходима более новая версия компилятора, например, на данный момент последняя версия - 11, то можно использовать PPA разработчиков с тестовыми сборками. Для добавления PPA в систему выполните команды:

    sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt update

    kclq444AAAAASUVORK5CYII=

    Далее установите сам компилятор:

    sudo apt -y install gcc-snapshot && sudo apt -y install gcc-11g++-11

    AaKdPs7la0w0AAAAAElFTkSuQmCC

    Это не заменит ваш текущий компилятор на новый. В системе просто появятся 2 версии компиляторов gcc-11 и g++11, которые вы можете использовать для своих программ. Это лучший вариант на данный момент, но если вы хотите все же сделать gcc-9 компилятором по умолчанию, выполните:

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9

    A0O2YdWJaOJ9AAAAAElFTkSuQmCC

    Готово, теперь вы можете проверить версию gcc-6:

    RNPWXVpTrs4AAAAASUVORK5CYII=

    Установка GCC в Ubuntu завершена, и можно переходить к сборке программ. Для удаления компилятора достаточно удалить пакет build-essential при помощи команды:

    sudo apt purge -y build-essential && sudo apt-y autoremove

    Использование GCC в Ubuntu

    Рассмотрим пример компиляции минимальной программы hello.c для освоения работы с gcc. Вот код программы, откройте любой текстовый редактор и сохраните его в файле с названием hello.c:

    dfR8yQ+0dotHBObQTDvXB8xjDEugtQ+d0xm7YVKjmo3Zd614kOdRaSP9GeHaXNE6mhZRoeaw6Zhl7bddbxHHUYVbZS7oWOqhWa6BMjZv9rIJTjcVJJO45BHdn1a5x7aKQvGKbfU76b6CR6y+MMJCNqQRzcSvl55Itht05ef0fdfRpREv47uy31Of9mWIoAAAAASUVORK5CYII=

    Теперь запустим сборку программы:

    Когда сборка программы будет завершена, на выходе появится файл с названием a.out. a.out –это имя исполняемого файла, которое по умолчанию, сгенерировано при помощи gcc. Далее можно запустить данный файл:

    h0mzJPtkAAAAASUVORK5CYII=

    Готово, компилятор прекрасно работает в системе, и теперь можно писать свои программы или собирать чужие.

    Выводы

    В этой статье мы рассмотрели, как установить gcc в Ubuntu 20.04, это один из самых популярных компиляторов для этой операционной системы. И устанавливается он очень просто, если у вас остались вопросы, спрашивайте в комментариях!

    На завершение видео с демонстрацией самого процесса:

    Читайте также: