Перейти к содержимому

A out как запустить

  • автор:

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.052 секунд. Запросов: 25.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Компилятор gcc для программирования на языке Си: запуск кода

Компилятор gcc распространяется по лицензии GNU, Фондом свободного программного обеспечения, для nix-подобных ОС и является C\C++ компилятором, который управляется с помощью командной строки. gcc распространяется с nix системами, так что если вы работаете в ОС Unix или Linux, скорее всего в вашей системе уже установлен gcc.
Чтобы запустить исходный код, с помощью компилятора gcc, просто введите в терминале (командной строке) следующую команду:

gcc filename

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

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

-o outputfile

Полностью команда будет выглядеть так:

gcc filename -o outputfile

Опять же, вы можете запустить программу с помощью команды ./outputfile . (Точка и слэш ./ перед именем файла используются для указания текущего каталога.)

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

Чтобы быть уверенными, что компилятор действительно поддерживает стандарты ANSI, используем флаг:

Если вы хотите, чтобы компилятор рассматривал предупреждения как ошибки, используйте флаг -Werror . В таком случае, если возникнет хотя бы одно предупреждение, вы не получите исполняемый файл.

Если вы хотите, отлаживать исполняемый файл в отладчике GDB, включайте в команду флаг -g .

gcc filename -g -o outputfile

Это позволит отладчику GDB, дать вам подробную информацию о процессе отладки, в том числе дополнительный код в исполняемый файл.

Математическая библиотека

Если вам нужно использовать функции из математической библиотеки (как правило, функции из заголовочного файла math.h , таких как sin или sqrt ), необходимо явно указать этот файл. Чтобы привязать библиотеку используется флаг -l , после указывается флаг библиотеки m :

gcc filename -o outputfile -lm

Обратите внимание, что в C++ не надо использовать этот флаг.
Если вы используете *nix-подобные системы, вы также можете проверить другие опции компилятора gcc, введя в командную строку следующую команду:

руководство (на английском) к компилятору gcc, или

руководство (на русском) к компилятору gcc.

Создание разделяемых библиотек

Если вы хотите узнать, как создать разделяемую библиотеку в Linux с gcc, прочитайте статью: как создать разделяемую библиотеку на Linux с помощью gcc.

Как запустить файл из командной строки?

Как запустить файл из командной строки? Когда из Nautilus’а запускаю, то просто два раза щелкаю по нему мышкой, а как из командной строки файл запустить?

Можно выполнить (запустить) файл в командной строке, набрав команду:

sh название-файла

Также можно просто указать имя файла (если он доступен для запуска) и нажать Enter:

./filetorun

Обратите внимание, что перед файлом нужно указать путь до него или, если вы уже находитесь в директории, в которой лежит файл, то перед именем файла нужно поставить «./». Это указывает на то, что вы запускаете файл именно из текущей директории.

Войдите, чтобы ставить лайки мне нравится

войдите, чтобы ставить лайки

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

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

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

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

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

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

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

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

sudo apt install gcc

(На всякий случай: вставка в 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 . Однако в других дистрибутивах возможно придётся установить этот редактор:

sudo apt install gedit

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

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

gedit ~/hello_world.c

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

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

#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 и запустим же то сокровенное ради чего все тут и собрались:

gcc ./hello_world.c

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

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

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

chmod +x a.out

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

./a.out

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

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

Hello world) # ## ### #### ##### ###### ####### ######## #########

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

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

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

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

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

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

Как Вы уже поняли — здесь можно выполнить доработку функциональности текстового редактора. Создадим новый инструмент: «Компиляция и запуск», В качестве вывода используем нижнюю область редактора. Инструмент назначим для файлов 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *