Как запустить скомпилированный файл linux
Перейти к содержимому

Как запустить скомпилированный файл linux

  • автор:

Как запустить скомпилированный файл linux

Рассмотрим создание первой программы на Linux, в частности, в среде Ubuntu. Как правило, многие дистрибутивы Linux, в том числе и Ubuntu, уже по умолчанию содержат установленный компилятор gcc, который мы сразу же можем использовать. Но даже если вдруг он не установлен, то его можно доустановить в терминале через команду:

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

Определим в файловой системе каталог для исходных файлов с кодом на Си и создадим в нем новый файл hello.c со следующим кодом:

И это тот же код, что был в случае с Windows, потому что программы на Си на уровне исходного кода в большей степени обладают переносимостью.

Чтобы вывести строку на консоль, необходимо подключить подключает заголовочный файл stdio.h с помощью директивы include.

Этот заголовочный файл содержит определение функции printf, которая нужна для вывода строки на консоль.

Далее идет определение функции int main(void) — главной функции, которая должна присутствовать в любой программе на Си. С нее собственно и начинается выполнение приложения.

Ключевое слово int в определении функции int main(void) говорит о том, что функция возвращает целое число. А слово void в скобках указывает, что функция не принимает параметров. А все содержимое функции заключается в фигурные скобки.

В самой функции происходит вывод строки на консоль с помощью функции printf, в которую передается выводимая строка «Hello world!».

В конце осуществляем выход из функции с помощью оператора return . Так как функция должна возвращать целое число, то после return указывается число 0. Ноль используется в качестве индикатора успешного завершения программы.

Перейдем к терминалу и вначале с помощью команды cd перейдем к каталогу, где расположен файл с исходным кодом.

Запуск исполняемых файлов.

Сразу укажу, что я полнейший нуб. Учусь пользоваться линуксом. Сейчас стоит fedora 22. Не запускаются скомпилированные исполняемые файлы. Компилирую СИшные файлики через ком строку. «gcc -c file.c -o file.o» и «gcc file.o -o file». После этих действий выдает ошибку при запуске через sh «не могу запустить бинарный файл.» Не хочет запускать ни file.o, ни file. Переустанавливал bash и gcc через ком строку с помощью dnf reinstall, не помогло. Мне интересен любой способ решения этой проблемы, который я буду способен в кратчайшие сроки освоить.

Предлагаешь нам самим догадаться, как именно ты запускаешь этот файл?

Дай право на выполнение:

[root@localhost программы]# gcc -c pr1.c -o pr1.o [root@localhost программы]# gcc pr1.o -o pr1 [root@localhost программы]# sh pr1 pr1: pr1: не могу запустить бинарный файл [root@localhost программы]# chmod +x pr1 [root@localhost программы]# sh pr1 pr1: pr1: не могу запустить бинарный файл [root@localhost программы]# ls pr1 pr1.c pr1.o адрес [root@localhost программы]# chmod a=x pr1.o [root@localhost программы]# pr1.o bash: pr1.o: команда не найдена. ^C [root@localhost программы]# sh pr1.o pr1.o: pr1.o: не могу запустить бинарный файл [root@localhost программы]# ./pr1.o bash: ./pr1.o: cannot execute binary file: Ошибка формата выполняемого файла [root@localhost программы]# ./pr1 указатель не определен

[root@localhost программы]# chmod +x pr1.o

[root@localhost программы]# ./pr1.o

bash: ./pr1.o: cannot execute binary file: Ошибка формата выполняемого файла

Ну фиг его знает. Выложи что ты там собираешь.

Да, вообще все мной собранные проги, которые даже раньше работали, не запускаются.

Как запустить скомпилированный файл linux

В прошлой теме было рассмотрено создание первой программы на Windows. Теперь рассмотрим создание первой программы на Linux, в частности, в среде Ubuntu 16.04. На Linux также популярным компилятор для создания программ является g++. Поэтому в данном случае также будем использовать этот компилятор.

Как правило, многие дистрибутивы Linux, в том числе и Ubuntu, уже по умолчанию содержат установленный компилятор g++, который мы сразу же можем использовать. Но даже если вдруг он не установлен, то его можно доустановить в терминале через команду:

В остальном, если мы будем использовать для компиляции компилятор g++, все будет аналогично созданию программы на Windows.

Определим в файловой системе каталог для исходных файлов с кодом на С++ и создадим в нем новый файл hello.cpp со следующим кодом:

И это тот же код, что был в случае с Windows, потому что программы на С++ на уровне исходного кода в большей степени обладают переносимостью.

Для вывода строки на консоль необходимо подключить нужный функционал. Для этого в начале файла идет строка

Данная строка представляет директиву препроцессора, которая позволяет подключить библиотеку iostream. Эта библиотека нужна для вывода строки на консоль.

Далее идет определение функции main . Функция main должна присутствовать в любой программе на С++, с нее собственно и начинается выполнение приложения.

Функция main состоит из четырех элементов:

Тип возвращаемого значения . В данном случае это тип int . Этот тип указывает, что функция должна возвращать целое число.

Имя функции . В данном случае функция называется main.

Список параметров . После имени функции в скобках идет список параметров. Но в данном случае скобки пустые, то есть функция main не принимает параметров.

Тело функции . После списка параметров в фигурных скобках идет тело функции. Здесь и определяются собственно те действия, которые выполняет функция main.

В теле функции происходит вывод строки на консоль. Для обращения к консоли используется стандартный поток вывода std::cout . С помощью оператора << в этот поток (в данном случае фактически на консоль) передается строка символов, которую надо вывести на консоль, то есть «Hello World!». В конец строки добавлена специальная управляющая последовательность «\n», которая позволит после вывода текста перевести курсор на новую строку.

В функции осуществляем выход из функции с помощью оператора return . Так как функция должна возвращать целое число, то после return указывается число 0. Ноль используется в качестве индикатора успешного завершения программы.

После каждой инструкции в языке C++ ставятся точка с запятой.

Первая программа на C++ на Linux

Перейдем к терминалу и вначале с помощью команды cd перейдем к каталогу, где расположен файл с исходным кодом.

Как написать и запустить программу на языке C в Linux

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

Для компиляции простой программы на языке C мы используем инструмент командной строки Linux — терминал. Чтобы открыть терминал, вы можете использовать Ubuntu Dash или комбинацию клавиш Ctrl+Alt+T.

Шаг 1: Установите необходимые для сборки пакеты

Для компиляции и выполнения программы на языке C необходимо, чтобы в вашей системе были установлены необходимые пакеты. Введите следующую команду от имени root в терминале Linux:

Установка пакетов build-essential с помощью apt

Вам будет предложено ввести пароль для root; после этого начнется процесс установки. Пожалуйста, убедитесь, что вы подключены к интернету.

Шаг 2: Напишите простую программу на языке C

После установки необходимых пакетов, давайте напишем простую программу на языке C.

Откройте графический текстовый редактор Ubuntu и напишите или скопируйте в него следующий пример программы:

Затем сохраните файл. В этом примере я назвал свою программу на языке Си как sampleProgram.c

Пример программы на Си

Шаг 3: Скомпилируйте программу на языке C с помощью компилятора gcc

В терминале введите следующую команду, чтобы создать исполняемую версию написанной вами программы:

Шаг 4: Запуск программы

Последний шаг — запуск скомпилированной программы на языке C. Для этого используйте следующий синтаксис:

Запуск нашей скомпилированной программы

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

Из этой статьи вы узнали, как написать, скомпилировать и запустить простую программу на языке C в Linux.

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

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