как узнать какие компиляторы установлены в linux
Как узнать версию gcc, используемую для сборки linux?
Я использую OpenWRT. это дистрибутив Linux для встраиваемых систем
Я хочу знать версию gcc, используемую для компиляции Linux
Я сделал некоторые исследования в сети, но безрезультатно.
Я пытался выполнить эти команды для некоторого существующего двоичного файла в Linux OpenWRT (например, wget)
Но я не получил никакого результата
не дает никакого результата
Есть ли способ узнать, используется ли gcc для сборки всего linux (как для пользовательского пространства, так и для пространства ядра)?
Решение
Главное предостережение
.comment раздел не является обязательным. Многие дистрибутивы удаляют его из исполняемого файла, когда исполняемый файл упакован в пакет. Раздел будет помещен в отдельный пакет отладки.
Например, в моей системе:
После установки libcurl3-dbg пакет, мы получаем изображение с разделенными разделами, следуя ссылке отладки GNU:
Другие решения
Для построения рабочего пространства OpenWRT используется ваш основной gcc:
Для кросс-компиляции все необходимые инструменты находятся под вами openwrt build dir.
GCC, используемый во время компиляции, можно найти в staging directory OpenWRT. Перейдите в домашнюю директорию openwrt и найдите toolchain каталог под постановочный реж. Здесь вы найдете bin каталог, в котором находятся все инструменты кросс-компиляции.
Например для ar71xx :
Компилируем и запускаем программы C, C++ в Linux
Это краткое руководство объясняет, как компилировать и запускать программы на Си/Си++ в операционной системе GNU/Linux.
Если вы студент или новый пользователь Linux, который переходит с платформы Microsoft, то вам может быть интересно, как запускать программы на Си или Си++ в дистрибутиве Linux. Мы должны понимать, что компиляция и запуск кода на платформах Linux немного отличается от Windows.
Установка необходимых инструментов
Как вы, наверное, уже понимаете, для запуска кода нужно установить необходимые инструменты и компиляторы для работы. Ниже мы опишем как установить все инструменты разработки в Linux.
В этом кратком руководстве мы обсудим, как установить средства разработки в такие дистрибутивы Linux, как Arch Linux, CentOS, RHEL, Fedora, Debian, Ubuntu, openSUSE и др.
Эти средства разработки включают в себя все необходимые приложения, такие как компиляторы GNU GCC C/C++, make, отладчики, man-страницы и другие, которые необходимы для компиляции и сборки нового программного обеспечения и пакетов.
Инструменты разработчика могут быть установлены как по отдельности, так и все сразу. Мы собираемся установить все сразу, чтобы нам было намного проще работать.
Установка в Arch Linux
Для установки средств разработки в Arch Linux и его дистрибутивов, таких как Antergos, Manjaro Linux, просто запустите:
Вышеуказанная команда установит следующие пакеты в ваши системы на базе Arch:
Просто нажми ENTER, чтобы установить их все.
Если вы хотите установить пакет в определенную группу пакетов, просто введите его номер и нажмите ENTER, чтобы продолжить установку.
Установка средств разработки в RHEL, CentOS
Для установки средств разработки в Fedora, RHEL и его клонах, таких как CentOS, Scientific Linux, выполните следующие команды как пользователь root:
Вышеуказанная команда установит все необходимые инструменты разработчика, например:
Установка инструментов разработки в Debian, Ubuntu и дистрибутивы
Для установки необходимых инструментов разработчика в системах на базе DEB, запустите:
Эта команда предоставит все необходимые пакеты для настройки среды разработки в Debian, Ubuntu и его дистрибутивов.
Теперь у Вас есть необходимые средства разработки для создания программного обеспечения в Linux.
Скрипт Mangi
Если Вам не нравится метод установки средств разработки выше, есть также скрипт под названием «сценарий манги» (mangi), доступный для легкой настройки среды разработки в DEB-системах, таких как Ubuntu, Linux Mint и других производных Ubuntu.
После свежей установки Ubuntu возьмите этот скрипт из репозитория GitHub, сделайте его исполняемым и начните установку всех необходимых инструментов и пакетов для настройки полной среды разработки. Вам не нужно устанавливать инструменты один за другим.
Этот скрипт установит следующие среды разработки и инструменты на вашу систему Linux:
Сначала установите следующее:
Скачайте скрипт манги, используя команду:
Извлеките загруженный архив:
Вышеуказанная команда распакует zip-файл в папку под названием mangi-script-master в вашей текущей рабочей директории. Перейдите в каталог и сделайте скрипт исполняемым, используя следующие команды:
Наконец, запустите скрипт с помощью команды:
Пожалуйста, имейте в виду, что этот скрипт не полностью автоматизирован. Вам необходимо ответить на ряд вопросов «Да/Нет» для установки всех инструментов разработки.
Установка инструментов разработки в openSUSE/SUSE
Для настройки среды разработки в openSUSE и SUSE enterprise выполните следующие команды от имени root пользователя:
Проверка установки
Теперь проверим, были ли установлены средства разработки или нет. Для этого запустите:
Как видно из приведенного выше вывода, средства разработки были успешно установлены. Теперь можно начать разрабатывать свои приложения.
Настройка среды разработки
Скрипт под названием ‘mangi’ поможет вам настроить полное окружение в системах на базе Ubuntu.
Еще раз, после установки необходимых средств разработки проверить их можно с помощью одной из следующих команд:
Эти команды покажут путь установки и версию компилятора gcc.
Компиляция и запуск программ C, C++
Сначала посмотрим, как скомпилировать и запустить простую программу, написанную на языке Си.
Компиляция и запуск программ на C
Напишите свой код/программу в любимом редакторе CLI/GUI.
Я собираюсь написать свою программу на Си с помощью редактора nano.
Скопируйте/вставьте следующий код:
Нажмите Ctrl+O и Ctrl+X для сохранения и выхода из файла.
Чтобы скомпилировать программу, запустите:
Если в вашем коде/программе есть синтаксические или семантические ошибки, они будут отображены. Сначала необходимо их исправить, чтобы двигаться дальше. Если ошибки нет, то компилятор успешно сгенерирует исполняемый файл ostechnix в текущем рабочем каталоге.
Наконец, запустите программу с помощью команды:
Вы увидите вывод, как показано ниже:
Чтобы скомпилировать несколько исходных файлов (например, source1 и source2) в исполняемый файл, запустите:
Для разрешения предупреждений, необходима отладка символов на выходе:
Скомпилировать исходный код в инструкции ассемблера:
Скомпилировать исходный код без связывания:
Вышеприведенная команда создаст исполняемый файл под названием source.o.
Если ваша программа содержит математические функции:
За более подробной информацией обращайтесь к man-страницам (страницы руководства).
Компиляция и запуск программ на C++
Пример простой C++ программы:
Чтобы скомпилировать эту программу на C++ в Linux, просто запустите:
Если ошибок не было, то можно запустить эту Си++ программу под Linux с помощью команды:
В качестве альтернативы мы можем скомпилировать приведенную выше программу на C++, используя команду «make«, как показано ниже.
Запустите, используя команду:
За более подробной информацией обращайтесь к man-страницам.
gentoo, можно ли узнать каким компилятором был собран пакет?
Либо по разным косвенным признакам, служебной информации, особенностям сгенерированного кода и т.д.
portage по умолчанию стрипает бинарники, так что вытащить служебную информацию, думаю, не выйдет.
Открой бинарник в текстовом редакторе, ГЦЦ иногда вставляет информацию про себя.
а где портаж хранит инфу об установленных пакетах?
Открой бинарник в текстовом редакторе, ГЦЦ иногда вставляет информацию про себя.
Я тоже так думал, пока не попробовал:
насколько я помню выпилили. раньше в var/db/ было явно.
Ну так скомпилируй clang’ом. Там найдешь то же самое (подозреваю, что это строчка из gcc’шного рантайма).
Гента, настройки линкера дефолтные.
/me запилил следующее в /etc/portage/bashrc
Это ни разу не прув для отсутствия инфы.
формально это неверно, хотя решение интересное, кстати я вроде писал на ЛОР официальный ответ по этому поводу.
$(CC) можно ж переопределить, и не уверен, что tc-get не может в выдать другую версию gcc отличную от текущей. Но 95% случаев этот хук точно покрывает.
Установка GCC в Ubuntu
Большинство программ в Linux написаны на Си или С++, и если вы хотите собирать их из исходников, то вам обязательно понадобиться компилятор, также он понадобиться, если захотите начать писать свои программы на одном из этих языков.
Набор компиляторов GCC
В базовую поставку компилятора входят такие программы:
Все эти пакеты являются зависимостями пакета build-essential, поэтому для установки всего необходимого достаточно установить этот пакет.
Установка GCC в Ubuntu
Если вас устраивает текущая версия GCC, которая есть в официальных репозиториях дистрибутива, то вам достаточно установить пакет build-essential. Для этого выполните команду:
sudo apt install build-essential
После завершения выполнения все необходимое для компиляции программ будет установлено. И вы сможете использовать компилятор ubuntu. Давайте посмотрим версии и расположение компиляторов:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
Затем установите сами компиляторы:
sudo apt install gcc-snapshot
sudo apt install gcc-6 g++-6
Это не заменит ваш текущий компилятор на новый. В системе просто появятся компиляторы gcc-6 и g++-6, которые вы можете использовать для своих программ. Это лучший вариант на данный момент, но если вы хотите все же сделать gcc-6 компилятором по умолчанию, выполните:
Готово, теперь вы можете проверить версию gcc-6:
Установка GCC в Ubuntu завершена, и можно переходить к сборке программ. Для удаления компилятора достаточно удалить пакет build-essential:
sudo apt purge build-essential
sudo apt autoremove
А чтобы заменить новую версию обратно, установите и замените настройки программ по умолчанию:
Использование GCC в Ubuntu
Давайте рассмотрим пример компиляции минимальной программы hello.c для освоения работы с gcc. Вот код программы, сохраните его в файле hello.c:
include
int main(void)
<
printf(«Hello, world!\n»);
return 0;
>
Теперь запустим сборку программы:
Когда сборка программы будет завершена, вы можете ее запустить:
Готово, компилятор прекрасно работает в системе, и теперь вы можете писать свои программы или собирать чужие.
Выводы
В этой статье мы рассмотрели как установить gcc в Ubuntu, это один из самых популярных компиляторов для этой операционной системы. И устанавливается он очень просто, если у вас остались вопросы, спрашивайте в комментариях!
На завершение видео с демонстрацией самого процесса:
Скомпилируйте и запустите программу на C в Linux и Windows
Вступление
В этом документе мы увидим, как мы можем скомпилировать и выполнить программу на C в Linux и Windows. Документ также содержит список доступных компиляторов Си.
Содержание:
Установите, скомпилируйте и выполните программу на языке C с помощью Visual C ++ 2008 Express Edition с пакетом обновления 1 в Windows
Загрузить и установить
Для загрузки укажите в браузере http://www.microsoft.com/visualstudio/en-us/products/2008-editions/express и выберите «Язык» и нажмите «Скачать бесплатно». После завершения загрузки запустите исполняемый файл, он попросит вас выбрать, хотите ли вы установить некоторые другие дополнительные продукты, снимите флажки с этих параметров, чтобы можно было установить только необходимый продукт. Процесс установки начнет загружать другие файлы с сайта Microsoft, и, в зависимости от скорости вашего соединения, установка займет некоторое время.
После завершения установки в Windows 7 запустите командную строку Visual Studio 2008 в меню «Все программы»> «Microsoft Visual C ++ 2008 Express Edition»> «Инструменты Visual Studio»> «Командная строка Visual Studio 2008».
Напишите, скомпилируйте и выполните свою первую программу
Шаг 1: введите notepad demo.c (вы можете заменить имя файла своим собственным) и нажмите Enter, когда вас спросят, хотите ли вы создать новый файл, скажите «да».
Шаг 2: введите следующий код и нажмите Файл> Сохранить. Когда вас спросят, где сохранить файл, выберите подходящее место.
Шаг 3: Введите cl sample.c и нажмите ввод. Это скомпилирует программу для создания исполняемого файла (.exe).
Шаг 4: Теперь просто введите имя образца файла и введите. Это покажет вам результат.
Установить, скомпилировать и выполнить программу на C с Turbo C ++ в Windows
Получить и установить
Запустите Turbo C ++ на весь экран в Windows 7
Написать, скомпилировать и запустить C программу
Откройте новый файл из меню «Файл»> «Создать» в Turbo C ++ IDE. Напишите небольшую программу в IDE.
Нажмите на Опции и перейдите в Каталоги. Нажмите «Каталоги» и установите «Выходной каталог», как вам нужно, и «Исходный каталог», где вы сохранили файл программы «Си».
Теперь перейдите к компиляции и нажмите на Компиляция. А затем нажмите на Run. Вы увидите вывод вашей программы на Си.
Писать, компилировать и запускать программу на C, используя wxDev-C ++ в Windows
После загрузки установщика запустите exe-файл, дважды щелкнув по нему, и мастер установки поможет вам выполнить установку. После завершения установки вы запускаете ее из «Программы», и при первом запуске она занимает некоторое время для разбора заголовочных файлов. Окно IDe выглядит следующим образом:
Вы можете начать программирование, нажав Файл> Создать> Исходный файл в окне. Обратите внимание, что при сохранении файла вы должны выбрать тип файла как C, так как эта IDE также поддерживает C ++.
Вы можете использовать F9 или как показано ниже для компиляции и запуска программы.
Когда компиляция завершена, она открывает новое окно, чтобы показать вам вывод.
Если у вас есть ошибки, он показывает вас на панели ниже, как показано ниже.
Хотя мы немного устарели, мы находим wxDev-C ++ отличной IDE для программирования C. Вы можете попробовать его, если используете Windows.
Установить, скомпилировать и запустить C программу в Linux
Если компилятор C уже установлен, он покажет вам сообщение, как указано выше. Если нет, то будут установлены все необходимые пакеты.
Теперь откройте текстовый редактор и напишите небольшую программу на C, например, следующую и сохраните ее как demo.c:
Теперь выполните команду, как показано ниже, чтобы скомпилировать и выполнить файл:
Вот как вы можете установить GNU Gcc компилятор, написать программу на C и запустить ее под Linux.
Список компиляторов C
В следующей таблице приведен список доступных компиляторов Си. Это не полный список, но он даст вам четкое представление о различных компиляторах C, о том, какую ОС / платформу они поддерживают, и имеет ли она среду программирования.
Предыдущий: C учебник
Далее: C Basic