Установка компилятора c astra linux

Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих)

Добрый день. Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux. Я попробую здесь показать прямое руководство к действию на примере тех простых инструментов, которые использовал некогда сам при изучении Си в процессе знакомства с Linux. На самом деле, с теми или иными поправками, это руководство можно использовать в большинстве дистрибутивов. Руководство однозначно подходит для всех deb-based дистрибутивов.

С установкой ОС, как я полагаю, проблем у Вас уже не возникло. Этому процессу посвящены просто тысячи статей на профильных сайтах.

Итак: у Вас сейчас установлен дистрибутив ОС, как говорится, «из коробки». Перед глазами пособие для разработчика/учебник/просто_хорошая_книга по «Языку программирования Си». И никакой вменяемой, полноценной подробной информации о том, как же собственно откомпилировать и выполнить, написанный в книге, исходный код. Быстрый осмотр тематических ресурсов уже показал Вам, что, необходимо установить компилятор Си, запустить его с нужными параметрами и потом запустить компилированный бинарный код. Примерно с этого момента мы и начнём.

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

Я имею ввиду, что Вы скорее всего (бывший) пользователь ОС Windows и действия в чёрном/синем окошке при помощи клавиатуры оканчивались где-то на команде ping, кажутся неким таинством. Однако отмечу, что всё банально просто и текстовой интерфейс предоставляет намного более гибкие возможности (скорее всего Вы неоднократно Вы слышали это ранее). Приступим:

Я подразумеваю, что с понятием компиляции и о том что такое компилятор Вас уже познакомила правильная книга.

На этом этапе всё будет очень быстро и просто. Открываем терминал и пишем:

(На всякий случай: вставка в gnome-terminal ctrl+shift+v)

Сразу поясню, что текст слева от курсора — это приглашение командного интерпретатора и оно выглядит следующим образом:

Далее я буду указывать только команды интерпретатору без приглашения.

Данная строка «говорит» интерпретатору: «от имени суперпользователя запустить менеджер пакетов для установки пакета gcc».

Система попросит Вас ввести пароль суперпользователя и приступит к установке компилятора.

Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Предлагаемые пакеты: gcc-multilib gcc-doc Следующие НОВЫЕ пакеты будут установлены: gcc Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 44 пакетов не обновлено. Необходимо скачать 5 208 B архивов. После данной операции объём занятого дискового пространства возрастёт на 51,2 kB. Пол:1 http://ru.archive.ubuntu.com/ubuntu focal/main amd64 gcc amd64 4:9.3.0-1ubuntu2 [5 208 B] Получено 5 208 B за 0с (34,6 kB/s) Выбор ранее не выбранного пакета gcc. (Чтение базы данных … на данный момент установлено 371769 файлов и каталогов.) Подготовка к распаковке …/gcc_4%3a9.3.0-1ubuntu2_amd64.deb … Распаковывается gcc (4:9.3.0-1ubuntu2) … Настраивается пакет gcc (4:9.3.0-1ubuntu2) … Обрабатываются триггеры для man-db (2.9.1-1) …

Если же он уже установлен, то менеджер пакетов apt просто укажет на это примерно следующим образом:

Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Уже установлен пакет gcc самой новой версии (4:9.3.0-1ubuntu2).

Установка редактора

Обычно с дистрибутивом Ubuntu поставляется весьма интересный текстовой редактор gedit . Однако в других дистрибутивах возможно придётся установить этот редактор:

Читайте также:  Изменить разрешение файла линукс

Создание файла с исходным кодом

Теперь пришло то самое время нашего классического «hello world»! Давайте сделаем это в стиле linux. Просто наберите в консоли:

Более подробно Вы обязательно прочитайте в профильных ресурсах и в документации, я только отмечу, что символ «тильда» возвращает полный путь к домашнему каталогу пользователя ОС. Соответственно будет создан файл в вашем домашнем каталоге с указанным именем.

И далее наш программный код на языке Си в редакторе:

#include "stdio.h" int main() < printf ("\nHello world)\n"); for (int c=0; c<10;c++) < for (int i =0;ireturn 0; >

(Стоит отметить, что в редакторе gedit есть подсветка синтаксиса для различных языков программирования. Переключить режимы подсветки можно в нижней части окна редактора.)

Не забываем сохранить изменения нажатием ctrl+s. Обратите внимание, что вопросов об имени файла не последовало, так как имя было уже указано параметром при запуске редактора из командной строки терминала.

Компиляция и запуск

Закрываем окно редактора нажатием Alt+F4 и запустим же то сокровенное ради чего все тут и собрались:

И в ответ только новое приглашение. В отличие от стиля в ОС Windows, когда консоль, жутко подробно по-умолчанию, комментирует выполняемые действия — большинство программ в ОС семейства *nix сообщают только об исключительных ситуациях, ошибках и тому подобных вещах. То есть если «в ответ тишина» — то всё прошло хорошо.

Теперь в домашнем каталоге у нас появился файл a.out — он и есть файл с исполнимым кодом.

Для запуска этого файла на исполнение — назначим ему атрибут: «исполнимый»:

и теперь запустим получившееся приложение:

(Для запуска исполнимого файла интерпретатору требуется указать полный путь к файлу. Как в случае с «тильдой» символ «точка» возвращает полный путь к текущему каталогу. В данном конкретном случае правомерно так же запустить через ~/a.out Это не имеет значения здесь, так как файл создан в домашнем каталоге пользователя.)

И мы получаем вывод в терминале:

Для выполнения всех повторных действий: изменение кода и снова компиляция, — Вы можете не вводить все эти команды каждый раз заново, а использовать стрелки вверх и вниз, для быстрого выбора команд из истории. И, кстати, вывод списка истории всех введённых команд можно выполнить командой (на самом деле программой) history .

Минутка автоматизации

Теперь приступим к очень интересному моменту связанному с творчеством в духе *nix. Каждый раз вводить много скучных команд неинтересно, возможно, даже вредно. Мы расширим функционал редактора gedit и доработаем его «напильником» до состояния примитивной среды разработки: запустим gedit и откроем меню параметров,

Главное меню gedit

где на вкладке «Расширения» добавляем «Внешние инструменты»

Установка компилятора c astra linux

И затем, из того же главного меню gedit выбираем «Управление внешними инструментами».

Установка компилятора c astra linux

Как Вы уже поняли — здесь можно выполнить доработку функциональности текстового редактора. Создадим новый инструмент: «Компиляция и запуск», В качестве вывода используем нижнюю область редактора. Инструмент назначим для файлов C и C++. Назначим клавишу F5 (дело вкуса) на применение инструмента и собственно сам код инструмента в виде скрипта bash:

#!/bin/bash gcc -o a.out $GEDIT_CURRENT_DOCUMENT_NAME chmod +x ./a.out ./a.out rm ./a.out

Разберёмся в том, что тут происходит:

#!/bin/bash — указание командного интерпретатора для выполнения скрипта.

gcc -o a.out $GEDIT_CURRENT_DOCUMENT_NAME — здесь мы запускаем компилятор, где в параметре -o указываем имя выходного файла. Пускай он будет таким же как и по-умолчанию.

$GEDIT_CURRENT_DOCUMENT_NAME — через эту переменную gedit передаёт имя файла.

Дальше Вы уже знаете — назначение атрибута «исполнения», запуск файла и потом:

rm ./a.out — удаление созданного исполнимого файла.

Попробуем инструмент в деле:

Теперь можно продолжать изучать пособие для разработчика/учебник/просто_хорошую_книгу по «Языку программирования Си» на практике.

Заключение

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

В дальнейшем Вам обязательно понадобятся более серьёзные средства. А на первое время Вы можете дополнительно посмотреть другие редакторы, вплоть до больших и серьёзных сред разработки. Однако обязательно обратите внимание на редактор vim.

Источник

Установить gcc без интернета

На компьютере без доступа в интернет на виртуальной машине стоит Astra Linux Special Edition. По умолчанию в ОС нет компилятора gcc. Возможно ли на другом компьютере (с Windows 7 или Ubuntu) скачать из интернета пакет gcc и все необходимые ему зависимости, перенести на Astra Linux и там установить? Если да, то, подскажите, пожалуйста, как это сделать.

Astra базируется на debian.

Use the Synaptic package download script Here’s how: Synaptic/PackageDownloadScript

Short instructions:

Launch Synaptic on the offline computer Mark the packages you wish to install Select File->Generate package download script

Save the script to your USB key Take the USB key to an online Linux computer and run the script there from the USB key. It will download only the packages required by the offline computer to the USB key. Insert the USB key into the offline computer Launch Synaptic and click on File->Add downloaded packages

Select the directory on your USB key containing the downloaded *.deb files and press Open. The packages will be installed. Note: If you don’t have access to a PC with GNU/Linux or emulating/virtualizing GNU/Linux (Cygwin, VMware, VirtualBox, Qemu, etc), just open the script with a text editor and enter all the URLs you see in your browser to download the corresponding packages.

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

Тебе нужен диск со средствами разработчика, его надо закупать отдельно.

А ещё астра на виртуалке — боль, я тебе искренне сочувствую

На установочном диске GCC и вообще чего-либо для сборки софта нет, там только система

Благодарю за инструкцию. Думаю, я искал именно это.

Правда, в моём исполнении она пока не сработала.

Когда я на Astra Linux в Synaptic ввёл в поиск «gcc», то получил список пакетов, отмеченных как УСТАНОВЛЕННЫЕ: gcc-4.7-base, libgcc1, libgomp1, libquadmath0, cpp-4.7, cpp. И еще только один НЕустановленный пакет: dpkg-dev.

Я решил, что создавать из этого списка скрипт бесполезно, поэтому перешел к Ubuntu и сделал то же самое там: создал скрипт, загрузил пакеты. Перенес все на Astra Linux. Когда я открыл через Synaptic .deb-файлы на Astra Linux, то в консоли увидел сообщения типа:

Ignoring different architecture for libgcc1 Ignoring different architecture for . (другие пакеты). Can’t find pkg gcc Can’t find pkg . (другие пакеты).

И это, наверное, логично. Ведь, на данный момент я использовал 32-разрядную Ubuntu, то есть не 64-разрядную и, тем более, не Debian. Да еще и на VirtualBox. Чего я только ждал.

Возможно, если я это исправлю, у меня что-нибудь получится.

Но технология мне очень понравилась. Благодарю.

хм, а почему у меня на орле есть? И на сколько я помню по их faq отличие сводной от спешал — это сертификаты, за которые они деньги и берут

Потому что Орёл — это common edition, там оба диска доступны в репозитории. А вот для Смоленска, с которым я работаю, постоянно приходится образы дисков переключать, когда ставишь что-то

Вышло так, что я не могу им воспользоваться. По крайней мере сейчас. Дело в том, что по указанию руководства дисковод моего компьютера заблокирован даже на чтение. Все данные я получаю по сети. Попытка создать образ установочного диска Astra Linux не привела к узнаванию его самой операционной системой Astra Linux. Она всё повторяет и повторяет: «нет, нет. Вы вставьте диск с меткой „OS Astra Linux 1.3 smolensk — amd64 DVD“». И не обращает никакого внимания на мои попытки подсунуть ей образ этого диска.

Не помню по их faq — чтоб они запрещали подключать common, они запрещали сторонние подключать. Ониж фактический сертификатом торгуют, который ты и купил.

Источник

Оцените статью
Adblock
detector