- компиляция в a.out формат
- Re: компиляция в a.out формат
- Re: Re: компиляция в a.out формат
- Re: компиляция в a.out формат
- Re: Re: компиляция в a.out формат
- Re: Re: Re: компиляция в a.out формат
- Re: Re: Re: Re: компиляция в a.out формат
- Re: Re: Re: Re: Re: компиляция в a.out формат
- Компилируем и запускаем программы C, C++ в Linux
- Установка необходимых инструментов
- Установка в Arch Linux
- Установка средств разработки в RHEL, CentOS
- Установка инструментов разработки в Debian, Ubuntu и дистрибутивы
- Скрипт Mangi
- Установка инструментов разработки в openSUSE/SUSE
- Проверка установки
- Настройка среды разработки
- Компиляция и запуск программ C, C++
- Компиляция и запуск программ на C
- Компиляция и запуск программ на C++
- 🐧 Как скомпилировать и запустить программы на C, C++ в Linux
- Настройка среды разработки
- Компиляция и запуск программ на C, C ++ на Linux
- Напишите свой код / программу в вашем любимом редакторе CLI / GUI.
- Компиляция и запуск программ C ++
- Добавить комментарий Отменить ответ
- • Свежие записи
- • Категории
- • itsecforu.ru
- • Страны посетителей
- IT is good
- Компилирование и запуск исполняемых файлов
компиляция в a.out формат
Как скомпилировать простую программку через «cc» или «gcc» (кстати, в чём разница между ними? и что такое g++?) в формат a.out
я компилирую так: «cc file.c»
«file a.out»:
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), not stripped
Re: компиляция в a.out формат
это надо gcc и binutils, которые a.out могут.
Re: Re: компиляция в a.out формат
Какая-то версия нужна или компиляция с определёнными ключами?
Re: компиляция в a.out формат
Зачем тебе a.out? Это очень старый формат. Сейчас все в ELF компилится. A g++ это обвертка к gcc для сборки C++ прог.
Re: Re: компиляция в a.out формат
И правда — зачем =) Тогда так спрошу: как собрать бинарник, который бы не зависил от других библиотек? Кажется это называется static linking?
Re: Re: Re: компиляция в a.out формат
>Тогда так спрошу: как собрать бинарник, который бы не зависил от других библиотек?
Просто передай gcc ключ -static. Вообще то man gcc рулит, ну да ладно 🙂
P.S. А че ты вообще пытаешься сделать? Опиши конечную цель, может для нее есть лучше решение.
Re: Re: Re: Re: компиляция в a.out формат
man-ы то рулят, но man gcc большеват будет. Цель программы — научиться компилировать по-разному пустяковые программы на Си.
Re: Re: Re: Re: Re: компиляция в a.out формат
Источник
Компилируем и запускаем программы C, C++ в Linux
Это краткое руководство объясняет, как компилировать и запускать программы на Си/Си++ в операционной системе GNU/Linux.
Если вы студент или новый пользователь Linux, который переходит с платформы Microsoft, то вам может быть интересно, как запускать программы на Си или Си++ в дистрибутиве Linux. Мы должны понимать, что компиляция и запуск кода на платформах Linux немного отличается от Windows.
Установка необходимых инструментов
Как вы, наверное, уже понимаете, для запуска кода нужно установить необходимые инструменты и компиляторы для работы. Ниже мы опишем как установить все инструменты разработки в Linux.
Для работы и тестирования у нас должен быть сервер с Linux. Лучший вариант — это VPS. В зависимости от географии проекта обычно выбирают две страны для серверов — VPS США и VPS России.
В этом кратком руководстве мы обсудим, как установить средства разработки в такие дистрибутивы Linux, как Arch Linux, CentOS, RHEL, Fedora, Debian, Ubuntu, openSUSE и др.
Эти средства разработки включают в себя все необходимые приложения, такие как компиляторы GNU GCC C/C++, make, отладчики, man-страницы и другие, которые необходимы для компиляции и сборки нового программного обеспечения и пакетов.
Инструменты разработчика могут быть установлены как по отдельности, так и все сразу. Мы собираемся установить все сразу, чтобы нам было намного проще работать.
Установка в Arch Linux
Для установки средств разработки в Arch Linux и его дистрибутивов, таких как Antergos, Manjaro Linux, просто запустите:
Вышеуказанная команда установит следующие пакеты в ваши системы на базе Arch:
Просто нажми ENTER, чтобы установить их все.
Если вы хотите установить пакет в определенную группу пакетов, просто введите его номер и нажмите ENTER, чтобы продолжить установку.
Установка средств разработки в RHEL, CentOS
Для установки средств разработки в Fedora, RHEL и его клонах, таких как CentOS, Scientific Linux, выполните следующие команды как пользователь root:
Вышеуказанная команда установит все необходимые инструменты разработчика, например:
- autoconf
- automake
- bison
- byacc
- cscope
- ctags
- diffstat
- doxygen
- elfutils
- flex
- gcc/gcc-c++/gcc-gfortran
- git
- indent
- intltool
- libtool
- patch
- patchutils
- rcs
- subversion
- swig
Установка инструментов разработки в Debian, Ubuntu и дистрибутивы
Для установки необходимых инструментов разработчика в системах на базе DEB, запустите:
Эта команда предоставит все необходимые пакеты для настройки среды разработки в Debian, Ubuntu и его дистрибутивов.
- binutils
- cpp
- gcc-5-locales
- g++-multilib
- g++-5-multilib
- gcc-5-doc
- gcc-multilib
- autoconf
- automake
- libtool
- flex
- bison
- gdb
- gcc-doc
- gcc-5-multilib
- and many.
Теперь у Вас есть необходимые средства разработки для создания программного обеспечения в Linux.
Скрипт Mangi
Если Вам не нравится метод установки средств разработки выше, есть также скрипт под названием «сценарий манги» (mangi), доступный для легкой настройки среды разработки в DEB-системах, таких как Ubuntu, Linux Mint и других производных Ubuntu.
После свежей установки Ubuntu возьмите этот скрипт из репозитория GitHub, сделайте его исполняемым и начните установку всех необходимых инструментов и пакетов для настройки полной среды разработки. Вам не нужно устанавливать инструменты один за другим.
Этот скрипт установит следующие среды разработки и инструменты на вашу систему Linux:
- Node.js
- NVM
- NPM
- Nodemon
- MongoDB
- Forever
- git
- grunt
- bower
- vim
- Maven
- Loopback
- curl
- python
- jre/jdk
- gimp
- zip unzip and rar tools
- filezilla
- tlp
- erlang
- xpad sticky notes
- cpu checker
- kvm acceleration
- Calibre Ebook Reader (I often use it to read programming books
- Dict – Ubuntu Dictionary Database and Client (CLI based)
Сначала установите следующее:
Скачайте скрипт манги, используя команду:
Извлеките загруженный архив:
Вышеуказанная команда распакует zip-файл в папку под названием mangi-script-master в вашей текущей рабочей директории. Перейдите в каталог и сделайте скрипт исполняемым, используя следующие команды:
Наконец, запустите скрипт с помощью команды:
Пожалуйста, имейте в виду, что этот скрипт не полностью автоматизирован. Вам необходимо ответить на ряд вопросов «Да/Нет» для установки всех инструментов разработки.
Установка инструментов разработки в openSUSE/SUSE
Для настройки среды разработки в openSUSE и SUSE enterprise выполните следующие команды от имени root пользователя:
Проверка установки
Теперь проверим, были ли установлены средства разработки или нет. Для этого запустите:
Как видно из приведенного выше вывода, средства разработки были успешно установлены. Теперь можно начать разрабатывать свои приложения.
Настройка среды разработки
Скрипт под названием ‘mangi’ поможет вам настроить полное окружение в системах на базе Ubuntu.
Еще раз, после установки необходимых средств разработки проверить их можно с помощью одной из следующих команд:
Эти команды покажут путь установки и версию компилятора gcc.
Компиляция и запуск программ C, C++
Сначала посмотрим, как скомпилировать и запустить простую программу, написанную на языке Си.
Компиляция и запуск программ на C
Напишите свой код/программу в любимом редакторе CLI/GUI.
Я собираюсь написать свою программу на Си с помощью редактора nano.
Примечание. Вам необходимо использовать расширение .c для программ на Си или .cpp для программ на Си++.
Скопируйте/вставьте следующий код:
Нажмите Ctrl+O и Ctrl+X для сохранения и выхода из файла.
Чтобы скомпилировать программу, запустите:
Если в вашем коде/программе есть синтаксические или семантические ошибки, они будут отображены. Сначала необходимо их исправить, чтобы двигаться дальше. Если ошибки нет, то компилятор успешно сгенерирует исполняемый файл ostechnix в текущем рабочем каталоге.
Наконец, запустите программу с помощью команды:
Вы увидите вывод, как показано ниже:
Чтобы скомпилировать несколько исходных файлов (например, source1 и source2) в исполняемый файл, запустите:
Для разрешения предупреждений, необходима отладка символов на выходе:
Скомпилировать исходный код в инструкции ассемблера:
Скомпилировать исходный код без связывания:
Вышеприведенная команда создаст исполняемый файл под названием source.o.
Если ваша программа содержит математические функции:
За более подробной информацией обращайтесь к man-страницам (страницы руководства).
Компиляция и запуск программ на C++
Напишите вашу C++ программу в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.
Пример простой C++ программы:
Чтобы скомпилировать эту программу на C++ в Linux, просто запустите:
Если ошибок не было, то можно запустить эту Си++ программу под Linux с помощью команды:
В качестве альтернативы мы можем скомпилировать приведенную выше программу на C++, используя команду «make«, как показано ниже.
Вы заметили? Я не использовал расширение .cpp в вышеприведенной команде для компиляции программы. Нет необходимости использовать расширение для компиляции Си++ программ с помощью команды make.
Запустите, используя команду:
За более подробной информацией обращайтесь к man-страницам.
Источник
🐧 Как скомпилировать и запустить программы на C, C++ в Linux
Настройка среды разработки
После установки необходимых инструментов разработки проверьте их с помощью одной из следующих команд:
Компиляция и запуск программ на C, C ++ на Linux
Напишите свой код / программу в вашем любимом редакторе CLI / GUI.
Я собираюсь написать свою программу на C, используя редактор nano.
Примечание: вам нужно использовать расширение .c для программ на C или .cpp для программ на C ++.
Если ошибки нет, компилятор успешно сгенерирует исполняемый файл с именем itisgood в текущем рабочем каталоге.
Наконец, выполните программу, используя команду:
Вы увидите вывод, как показано ниже:
Чтобы разрешить предупреждения, отладьте символы в выводе:
Чтобы скомпилировать исходный код без ссылок:
Приведенная выше команда создаст исполняемый файл с именем source.o.
Если ваша программа содержит математические функции:
Для более подробной информации обратитесь к справочным страницам.
Компиляция и запуск программ C ++
Напишите свою программу на C ++ в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.
Вот простая программа на C ++.
Чтобы скомпилировать эту программу C ++ в Linux, просто запустите:
Если ошибок не было, вы можете запустить эту программу C ++ под Linux, используя команду:
Вы увидите вывод, как показано ниже:
Я не использовал расширение .cpp в приведенной выше команде для компиляции программы.
Нет необходимости использовать расширение для компиляции программ на C ++ с помощью команды make.
Для более подробной информации обратитесь к справочным страницам.
Надеюсь все было достаточно просто и понятно! 🙂
Добавить комментарий Отменить ответ
• Свежие записи
• Категории
• itsecforu.ru
• Страны посетителей
IT is good
Источник
Компилирование и запуск исполняемых файлов
Запуск исполняемых файлов
Всем привет! У меня есть вот такая вот штука application/x-executable. Как я понимаю это.
Запрет на запуск исполняемых файлов
Подскажите статью как через гпо обычным пользователям (не админам) запретить запуск любых.
Не всегда работает запуск исполняемых файлов в IE
Доброго всем времени суток! Создал html страницу. На ней есть кнопка, при нажатии которой.
Запуск и удаление исполняемых файлов из каталога
Здравствуйте. Помогите пожалуйста разобраться в некоторых местах кода. Полное задание: unit.cpp.
АнтонСавицкий,
Второй способ (sh ./a.out) может использоваться только для запуска скриптов.
Возможные варианты:
1. Файловая система, где находится файл смонтирована с опцией noexec
cat /proc/mounts покажет опции монтирования
2. В системе активизирован и настроен соотв образом selinux или AppAmor и др. система принудительного контроля доступа.
3. Могут быть настроены дополнительные аттрибуты.
Больше ничего в голову не приходит.
Сначала все же посмотрите права доступа к файлу.
ls -l a.out.
Можно попробовать запустить от рута или переместить в другой каталог.
Добавлено через 11 секунд
АнтонСавицкий,
Второй способ (sh ./a.out) может использоваться только для запуска скриптов.
Возможные варианты:
1. Файловая система, где находится файл смонтирована с опцией noexec
cat /proc/mounts покажет опции монтирования
2. В системе активизирован и настроен соотв образом selinux или AppAmor и др. система принудительного контроля доступа.
3. Могут быть настроены дополнительные аттрибуты.
Больше ничего в голову не приходит.
Сначала все же посмотрите права доступа к файлу.
ls -l a.out.
Можно попробовать запустить от рута или переместить в другой каталог.
Добавлено через 1 минуту
PS. На медленных каналах интерфейс дублирует сообщения
Источник