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

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

  • автор:

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

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

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

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

Запуск скомпилированного файла в ubuntu

Всем привет , интересуюсь c++ , вот появился вопрос , скомпилировал я код, появляется у меня скомпилированный файл который надо запустить , но он в формате exe , wine у меня не установлен , можно ли сделать чтобы компилятор создал программу не в .exe формате а в том формате , который я бы смог открыть через ubuntu ? Либо сделать универсальный формат , если есть такой .

Отслеживать
9,066 14 14 серебряных знаков 26 26 бронзовых знаков
задан 11 окт 2016 в 23:40
1,395 19 19 серебряных знаков 49 49 бронзовых знаков

1 Что мешает вам скомпилировать код в gcc под Убунтой для нативной платформы? 2 Что мешает вам в Убунте установить и настроить wine?

12 окт 2016 в 1:46

Я в курсе про Wine , меня интересует можно ли задать правило компилятору , чтобы он создал бинарник не в .exe формате , а в том на который нажав мышкой 2 раза , он откроется как и с .exe на винде

12 окт 2016 в 2:01

Если вы под Убунтой в gcc компилируете exe-файл, то есть исполняемый файл для платформы win-32, если я вас правильно понял, тогда сами понимаете, что это возможно, так как gcc по умолчанию, компилирует под нативную платформу (x86_64). Только, как вам написали в ответе, не всякий код написанный под одну платформу, без учёта кросс-компиляции, возможно сходу собрать под другой.

12 окт 2016 в 2:18
g++ -o hello main.cpp , он не компилирует под ubuntu , такойже обычный .exe файл
12 окт 2016 в 11:20

я вас понял , но вопрос был в том что , как через gcc скомпилировать исполняемый файл для ubuntu так , чтобы он открылся при нажатии на него 2йным щелчком ( также как .exe в винде)

12 окт 2016 в 22:35

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Кривой путь: гуглить про кросс-компиляцию. Например, если Cygwin, то (примерно, давно такой ерундой не занимался):

  1. Качаем последнюю версию crosstool-ng
  2. Распаковываем её куда-нибудь в cygwin shell, запускаем ./configure (доустанавливаем то, на что она матерится — bison, flex, cvs, wget, исходники/библиотеку ncurses, и т.д.)
  3. make , make install , и дальше — по инструкциям отсюда.

Неожиданный путь: поставить Open Watcom для Windows (при установке не забыть поставить галочку у Linux в target platform). Создание нового проекта в нём:

введите сюда описание изображения

Может прокатить 🙂 Хотя поддержки последних стандартов от него ждать не приходится, но «Hello, world» исправно собирает 🙂

Правильный путь: поставить убунту в виртуалке и собирать в ней.

И в любом случае готовиться к тому, что исходники, без проблем собирающиеся под Windows, придётся дорабатывать напильником. После чего может возникнуть желание пойти по совсем правильному пути: работать под Linux, а Windows держать в виртуалке 🙂

Либо сделать универсальный формат , если есть такой .

Как запустить скомпилированную программу в Linux ( Ubuntu ) без терминала?

Пытаюсь начать программировать в Linux, и сразу вопрос проблема. В Windows написал код, скомпилировал, получил на выходе ЕХЕшник. Двойной щелчок по программе, она запустилась. В Linux написал простую программу на С в блокноте ( для начала ), скомпилировал gcc prog.c -o prog, получил на выходе файл. Но Я ее могу запустить только через терминал командой ./prog .А как запускать программы по двойному щелчку мыши? А если вы еще дадите простой код с кнопкой и обработкой события по нажатию этой кнопки или любую другую полезную информацию по этой теме ( кроссплатформенность например ), Я вам искренне буду благодарен. Хочется дальше развиваться.

  • Вопрос задан более трёх лет назад
  • 2903 просмотра

2 комментария

Простой 2 комментария

Попробуй sudo chmod +x *Название файла*.
Эта команда разрешит исполнение файла.

Попробуй sudo chmod +x *Название файла*.

Из вопроса:

Я ее могу запустить только через терминал командой ./prog

Решения вопроса 1

leahch

Алексей Черемисин @leahch Куратор тега Linux
Я мастер на все руки, я козлик Элек Мэк 🙂

В линуксе, как и в виндовс, как и во всех остальных операционных системах (мне знакомых), есть два типа программ: консольные и с графическим интерфейсом.
Консольные программы требуют наличия какого-то терминала или консоли, соответсвенно их хоть и можно запустить по двойному щелчку, не всегда результат их работы будет виден, если дополнительно не указать в каком окружении их запускать.

Про программы с графическим интерфейсом все просто — они сразу пытаются открыть графическое окно. Но сама программа будет немного сложнее.

Так, Вы сделали и скомпилировали консольную программу. В этом же терминале можно ее и запустить.
Либо сделать «лаунчер» типа
xterm ./prog
Как сделать «лаунчер», зависит от вашего графического окружения, но обычно можно просто сделать desktop-файл, его практически все в линуксе понимают.
Просто создайте текстовый файл prog.Desktop со следующим содержимым (Exec — полный путь до вашей программы, Icon — путь до иконки, но можно без нее)

[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Terminal=true Exec=/path/to/executable Name=Name of Application Icon=/path/to/icon

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

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

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

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

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

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

sudo apt-get install build-essential

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

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

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

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

nano sampleProgram.c

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

#include int main()

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

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

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

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

gcc [ИмяФайла].c -o [ИмяПрограммы]
gcc sampleProgram.c -o sampleProgram

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

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

./Имя программы
./sampleProgram

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

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

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

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

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

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

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

Запуск скомпилированного файла в ubuntu

Всем привет , интересуюсь c++ , вот появился вопрос , скомпилировал я код, появляется у меня скомпилированный файл который надо запустить , но он в формате exe , wine у меня не установлен , можно ли сделать чтобы компилятор создал программу не в .exe формате а в том формате , который я бы смог открыть через ubuntu ? Либо сделать универсальный формат , если есть такой .

Отслеживать
9,066 14 14 серебряных знаков 26 26 бронзовых знаков
задан 11 окт 2016 в 23:40
1,395 19 19 серебряных знаков 49 49 бронзовых знаков

1 Что мешает вам скомпилировать код в gcc под Убунтой для нативной платформы? 2 Что мешает вам в Убунте установить и настроить wine?

12 окт 2016 в 1:46

Я в курсе про Wine , меня интересует можно ли задать правило компилятору , чтобы он создал бинарник не в .exe формате , а в том на который нажав мышкой 2 раза , он откроется как и с .exe на винде

12 окт 2016 в 2:01

Если вы под Убунтой в gcc компилируете exe-файл, то есть исполняемый файл для платформы win-32, если я вас правильно понял, тогда сами понимаете, что это возможно, так как gcc по умолчанию, компилирует под нативную платформу (x86_64). Только, как вам написали в ответе, не всякий код написанный под одну платформу, без учёта кросс-компиляции, возможно сходу собрать под другой.

12 окт 2016 в 2:18
g++ -o hello main.cpp , он не компилирует под ubuntu , такойже обычный .exe файл
12 окт 2016 в 11:20

я вас понял , но вопрос был в том что , как через gcc скомпилировать исполняемый файл для ubuntu так , чтобы он открылся при нажатии на него 2йным щелчком ( также как .exe в винде)

12 окт 2016 в 22:35

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Кривой путь: гуглить про кросс-компиляцию. Например, если Cygwin, то (примерно, давно такой ерундой не занимался):

  1. Качаем последнюю версию crosstool-ng
  2. Распаковываем её куда-нибудь в cygwin shell, запускаем ./configure (доустанавливаем то, на что она матерится — bison, flex, cvs, wget, исходники/библиотеку ncurses, и т.д.)
  3. make , make install , и дальше — по инструкциям отсюда.

Неожиданный путь: поставить Open Watcom для Windows (при установке не забыть поставить галочку у Linux в target platform). Создание нового проекта в нём:

введите сюда описание изображения

Может прокатить 🙂 Хотя поддержки последних стандартов от него ждать не приходится, но «Hello, world» исправно собирает 🙂

Правильный путь: поставить убунту в виртуалке и собирать в ней.

И в любом случае готовиться к тому, что исходники, без проблем собирающиеся под Windows, придётся дорабатывать напильником. После чего может возникнуть желание пойти по совсем правильному пути: работать под Linux, а Windows держать в виртуалке 🙂

Либо сделать универсальный формат , если есть такой .

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

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

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

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

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

./filetorun

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

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

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

LibreBay

Статьи про ОС Ubuntu. Языки программирования Си и C++.
Инструменты разработки и многое другое.

понедельник, 5 декабря 2016 г.

Как скомпилировать программу на C/C++ в Ubuntu

ubuntu terminal

Помню, когда я только начинал программировать, у меня возник вопрос: «Как скомпилировать программу на C в Ubuntu?» Для новичков это не легкая задача, как может показаться на первый взгляд.

Мой путь изучения C начался с бестселлера «Брайан Керниган, Деннис Ритчи, Язык программирования C, 2-е издание». Там рассказывается как скомпилировать программу в операционной системе Unix, но этот способ не работает в Linux. Авторы книги выкрутились, написав следующее:

В других системах это процедура будет отличаться. Обратитесь к справочнику или специалисту за подробностями.

Побуду специалистом 🙂 и расскажу в данной статье, как скомпилировать первые программы на C и заодно на C++ в терминале Ubuntu.

Текстовый редактор gedit

Для написания первых программ подойдет обычный, используемый по умолчанию в Ubuntu, текстовый редактор с подсветкой синтаксиса — gedit.

Запуск текстового редактора
Рис. 1. Запуск текстового редактора.

Первой программой по традиции является «Hello, World!», выводящее приветствие на экран:

#include int main(int argc, char **argv)

Печатаем или копируем текст программы в gedit и сохраняем в файл Hello.c , например, на рабочий стол. Не самое лучше место для сохранения, но это позволит рассмотреть случай, когда в имени директории содержится пробел.

Программа hello, World!
Рис. 2. Программа hello, World.

Компиляция программы на C

Теперь запускаем терминал, можно через Dash, а можно с помощью горячих клавиш + + . Здесь в начале установим инструменты сборки, куда входят необходимые компиляторы gcc для языка C и g++ для языка C++:

sudo apt install build-essential

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

Далее в терминале нам необходимо перейти в директорию, куда сохранили файл с текстом программы. Перемещение выполняется командой cd (англ. change directory — изменить каталог). Чтобы воспользоваться командой в начале пишется cd , затем через пробел путь , куда нужно перейти.

Для перехода на рабочий стол, команда будет следующей:

cd ~/Рабочий\ стол

Обратите внимание на символ обратной косой черты \ в имени директории Рабочий стол . Обратная косая экранирует пробел, и сообщает команде cd , что пробел и следующие за ним символы являются частью имени. Символ ~ в начале пути обозначает путь до домашней папки пользователя.

Для просмотра содержимого директории применяется команда ls (сокращение от англ. list).

Работа в терминале
Рис. 3. Работа в терминале.

Команда компиляции для программы на C выглядит следующим образом:

gcc -Wall -o hello hello.c
  • gcc — компилятор для языка программирования C;
  • -Wall — ключ вывода всех предупреждений компилятора;
  • -o hello — с помощью ключа -o указывается имя выходного файла;
  • hello.c — имя нашего исходного файла, который компилируем.

В завершение запустим hello , вводом имени программы с префиксом ./ :

./hello

Префикс ./ сообщает терминалу о необходимости выполнить программу с заданным именем в текущем каталоге. (Точка — это условное название текущего каталога.)

Работа в терминале, продолжение
Рис. 4. Работа в терминале, продолжение.

Компиляция программы на С++

Программы на C++ компилируются аналогично, как и программы на C. «Hello, World!» на C++ можно написать так:

#include int main(int argc, char **argv)

Сохраняем текст программы в файл под именем hello2.cpp . Таким образом, команда компилирования будет иметь вид:

g++ -Wall -o hello2 hello2.cpp

Для запуска результата вводим в терминале:

./hello2

Заключение

Данный способ позволяет скомпилировать программу лишь из одного файла с исходным кодом. Но этого вполне достаточно, чтобы начать изучение языков программирования C/C++ по книгам или по статьям в интернете.

  • Иванов Н. Н. — Программирование в Linux. Самоучитель. — 2-е издание;
  • Нейл Метьэ, Ричард Стоунс — Основы программирования в Linux: Пер. с англ. — 4-е издание;
  • Колисниченко Д. Н. — Разработка Linux-приложений.

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

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