- Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих)
- Установка компилятора
- Установка редактора
- Создание файла с исходным кодом
- Компиляция и запуск
- Минутка автоматизации
- Заключение
- Как скомпилировать программу C, используя компилятор GNU Compiler (GCC)
- Использование GCC для Unix
- Использование MinGW для Windows
- Дополнительные статьи
- Об этой статье
Как начать писать программный код Си в ОС 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 и 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.
Как скомпилировать программу C, используя компилятор GNU Compiler (GCC)
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 18 человек(а).
Количество просмотров этой статьи: 77 782.
В этой статье рассказывается, как скомпилировать программу из исходного кода на языке C с помощью компилятора GNU Compiler (GCC) для Linux или Minimalist Gnu (MinGW) для Windows.
Использование GCC для Unix
- Если компилятор не установлен, почитайте документацию к своему дистрибутиву Linux, чтобы узнать, как скачать соответствующий пакет.
- Если вы компилируете программу, написанную на языке C++, вместо «gcc» введите «g++».
- Например, если файл с исходным кодом «main.c» находится в каталоге /usr/wikiHow/source, введите cd /usr/wikiHow/source .
- Если на экране появились сообщения об ошибках, введите gcc -Wall -o errorlog file1.c , чтобы получить дополнительную информацию. Затем в текущем каталоге откройте файл «errorlog»; для этого введите cat errorlog .
- Чтобы скомпилировать одну программу из нескольких файлов с исходным кодом, введите gcc -o outputfile file1.c file2.c file3.c .
- Чтобы скомпилировать сразу несколько программ из нескольких файлов с исходными кодами, введите gcc -c file1.c file2.c file3.c .
Запустите скомпилированную программу. Введите &# 46;/HelloWorld , где «HelloWorld» замените именем программы.
Использование MinGW для Windows
Скачайте Minimalist GNU для Windows (MinGW). Эту версию GCC для Windows довольно легко установить. Установочный файл можно скачать на этом сайте. [2] X Источник информации
- Если файл не запустился автоматически, дважды щелкните по нему в папке для загрузок, а затем нажмите «Установить».
- Рекомендуем установить MinGW в папку по умолчанию, а именно в ( C:\MinGW ). Если нужно поменять папку, не выбирайте папку, в названии которой присутствуют пробелы, такую как «Program Files». [3] X Источник информации
- На левой панели рекомендуем нажать «Basic Setup» (Обычная установка). Затем на правой панели поставьте флажки рядом со всеми перечисленными компиляторами.
- Более опытные пользователи могут выбрать опцию «All packages» (Все пакеты) и отметить дополнительные компиляторы.
- Нажмите ⊞ Win + S , чтобы открыть строку поиска, и введите среда .
- В результатах поиска щелкните по «Изменение системных переменных среды».
- Нажмите «Переменные среды».
- Нажмите «Изменить» (под «Пользовательские переменные»).
- Прокрутите вниз информацию в поле «Значение переменной».
- Непосредственно под последней записью введите ;C:\MinGW\bin . Обратите внимание, что если вы установили MinGW в другую папку, введите ;C:\путь-к-папке\bin .
- Дважды нажмите «OK». Еще раз нажмите «OK», чтобы закрыть окно.
- Нажмите ⊞ Win + S и введите строка .
- В результатах поиска щелкните правой кнопкой мыши по «Командная строка» и в меню выберите «Запуск от имени администратора».
- Нажмите «Да», чтобы разрешить внесение изменений.
- Например, если файл с исходным кодом «helloworld.c» находится в папке C:\Source\Programs, введите cd C:\Source\Programs .
Чтобы запустить программу, введите ее имя. Если программа называется helloworld.exe, введите это имя, чтобы запустить программу.
- Компиляция кода с помощью флага -g приведет к созданию отладочной информации, которая может быть использована соответствующим отладчиком, например, GDB.
- Создайте сборочный файл проекта (make-файл), чтобы упростить компиляцию больших программ.
- Если вы активно используете оптимизацию, помните, что оптимизация по скорости может привести к снижению размера и, иногда, качества (и наоборот).
- При компиляции программы на языке C++ используйте G++ так же, как вы используете GCC. Помните, что файлы с исходным кодом на языке C++ имеют расширение .cpp, а не .c.
Дополнительные статьи
Об этой статье
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 18 человек(а). Количество просмотров этой статьи: 77 782.