- Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих)
- Установка компилятора
- Установка редактора
- Создание файла с исходным кодом
- Компиляция и запуск
- Минутка автоматизации
- Заключение
- How to Write and Run a C Program in Linux
- The C Programming Language
- Install C Compiler (GCC) on Linux
- Install the build-essential packages
- Write a simple C program
- Compile the C program with GCC Compiler
- Run the program
- Search
- About This Site
- Latest Tutorials
Как начать писать программный код Си в ОС 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.
How to Write and Run a C Program in Linux
C is one of the world’s oldest, most widely-used programming languages. It has been used to develop countless applications, from operating systems to embedded devices. Even today, many developers still rely on C for its flexibility and reliability as a programming language.
The C Programming Language
C is a highly portable language. This means that programs written in C are easily transferable from one computer system to another without having to be rewritten from scratch. This allows developers to quickly port their applications across different platforms without too much extra effort or hassle.
Also, C offers an outstanding balance between high-level abstractions and low-level programming techniques. In other words, you can use pre-defined functions and libraries that handle more complex tasks like memory management or string manipulation while still being able to access the machine’s hardware directly if needed. This makes it suitable for almost any application ranging from large commercial projects to smaller hobby projects!
C has been around for over 40 years, so plenty of resources are available online and offline that provide helpful tutorials and detailed documentation on how best to use the language. Whether you’re just starting with programming or already an experienced programmer looking for some tips – you should have no trouble finding what you need when looking into C development!
Finally, unlike many other modern programming languages, C isn’t tied to just one platform or software framework – it can be used with almost every major Operating System (OS), including Windows, macOS, Linux, and even Android! This universality makes it an extremely versatile option compared to other languages, which may only be ideal for certain OSes or environments.
C is truly one of the most significant programming languages ever created, and its popularity doesn’t seem like it will diminish anytime soon! With its flexibility, portability, and ease of use – it’s no wonder why so many people choose this powerful language when building their software projects!
Install C Compiler (GCC) on Linux
We have run the steps and commands mentioned in this article on an Ubuntu 22.04 LTS system, but it works the same on other versions like Ubuntu 20.04 or Debian 11.
To compile a simple C program, we use the Linux command-line tool, the terminal. To open the terminal, you can use the Ubuntu Dash or the key combination Ctrl+Alt+T.
Install the build-essential packages
In order to compile and execute a C program, you need to have the essential packages installed on your system. Enter the following command as root in your Linux Terminal:
$ sudo apt install build-essential
You will be asked to enter the root password; the installation will begin after that. Please make sure that you are connected to the internet.
Write a simple C program
After installing the essential packages, let us write a simple C program.
Open Ubuntu’s graphical Text Editor and write or copy the following sample program into it:
Then save the file with .c extension. In this example, I am naming my C program as sampleProgram.c
Alternatively, you can write the C program through the Terminal in gedit as follows:
This will create a .c file to write and save a program.
Compile the C program with GCC Compiler
In your Terminal, enter the following command to make an executable version of the program you have written:
$ gcc [programName].c -o programName
$ gcc sampleProgram.c -o sampleProgram
Make sure your program is located in your Home folder. Otherwise, you will need to specify appropriate paths in this command.
Run the program
The final step is to run the compiled C program. Use the following syntax to do so:
You can see how the program is executed in the above example, displaying the text we wrote to print through it.
This article taught you how to write, compile and run a simple C program in Linux. All you need is the essential packages and skills to make you a programming guru in Linux!
Search
About This Site
Vitux.com aims to become a Linux compendium with lots of unique and up to date tutorials.