608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
1

Как на gcc или на g++ собрать бинарник?

13.06.2013, 21:28. Показов 2615. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
возможно ли такое?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2013, 21:28
Ответы с готовыми решениями:

GCC 4.7 компилируется, но не запускается бинарник
где я накосячил? Компилил и под Linux, и под Win, под вин выдает ошибку совместимости, или что-то...

GCC 4.7 компилируется, но не запускается бинарник
Где облажался? int main() { int a = {5,}; int b = {7,}; int sum=0; for(int i = 1; i...

Как собрать GCC 4.7.2 с настройками С++11
Доброго времени суток, помогите пожалуйста собрать GCC 4.7.2 с настройками С++11 скачал...

minGW/GCC: как собрать из исходников?
Приветствую! Суть идеи: компиляция кода С++ в память, и выполнение его оттуда. Т.е. как DLL,...

10
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
13.06.2013, 22:19 2
А они у вас что, в скрипты собирают?
0
40 / 37 / 15
Регистрация: 25.10.2012
Сообщений: 112
13.06.2013, 23:32 3
В каком смысле?
gcc будет по умолчанию генерировать исполняемые файлы.
Можно, например, указать ключ -c - тогда будет сгенерирован объектный файл.
0
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
13.06.2013, 23:34  [ТС] 4
мне нужен чистый бинарник. т.е. голые инструкции процессора без каких-либо добавочных заголовков типа эльфа под линь и пе под вынь.
0
40 / 37 / 15
Регистрация: 25.10.2012
Сообщений: 112
13.06.2013, 23:38 5
Troll_Face, я не уверен, но возможно, нужно использовать -S.
В документации gcc относительно этой опции написано следующее: "stop after the stage of compilation proper; do not assemble. The output is in the form of an assembler code file for each non-assembler input file specified".
1
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
14.06.2013, 00:04  [ТС] 6
xanderfomin, спасибо, попробую
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.06.2013, 20:35 7
Цитата Сообщение от xanderfomin Посмотреть сообщение
Troll_Face, я не уверен, но возможно, нужно использовать -S.
Тогда gcc просто выдаст листинг на асме (который бинарником, очевидно, не является).
ТС, чего вы пытаетесь добится? Абсолютной кроссплатформенности? Уменьшения размера файла?
1
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
15.06.2013, 07:08  [ТС] 8
Цитата Сообщение от diagon Посмотреть сообщение
чего вы пытаетесь добится
я пытаюсь получить бинарник. знаете fasm? это ассемблер. он умеет собирать чистые бинарники без всяких заголовков и прочей хуерги. но это ассемблер. а я бы хотел получить это с помощью сей. пишем подобие оси.
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
15.06.2013, 09:15 9
Опция -c — на выходе объектные файлы. Потом линкуйте их во что угодно.
1
593 / 356 / 67
Регистрация: 21.09.2008
Сообщений: 1,223
04.04.2016, 18:53 10
-nostdlib
0
126 / 125 / 59
Регистрация: 22.01.2014
Сообщений: 460
04.04.2016, 23:14 11
Цитата Сообщение от Troll_Face Посмотреть сообщение
пишем подобие оси.
Тогда понятно, зачем нужен raw binary format.
На операционной системе Kolibri OS используется почти голый бинарный формат( простота загрузки однако). Там только небольшой заголовок (магическое число, смещения точки входа,описание bss, и stack, и что-то там еще), а все остальное голый бинарник, который после загрузки для выполнения остается практически неизменным, кроме данных конечно.
В интернете есть статья "Использование различных компиляторов в КолибриОС". Там вы сможете прочитать как генерировать бинарники для КолибриОС, используя различные компиляторы(MSVC, gcc,bcc32,tcc,masm,nasm,fasm).
Возможно вам пригодятся необходимые опции компиляции.
Я для сборки приложения под Kolibri использовал gcc(точнее kos32-gcc).
Для сборки бинарника используется скрипт линковки (опция -T для LD(kos32-ld)). Линковщик по этому скрипту создает псевдо-PE файл. Посредством
Bash
1
objcopy -O binary myprog.exe
псевдо-PE файл становится исполнимым бинарником формата Menuet OS.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2016, 23:14
Помогаю со студенческими работами здесь

Есть ли возможность собрать бинарник в винде для линукса?
собственно...)

Как компилировать программу C++ или код в бинарник (что бы запускался без участия ОС)
Помогите пожалуйста как компилировать прогу написанную на с++ или код в бинарник (что бы запускался...

Собрать компилятор gcc с gtk+ под Windows 8.1
Всем доброго в.с. Необходимо поднять существующий проект написанный на C++. О проекте известно,...

Текст или бинарник
На чём лучше делать протокол с 4-го уровня и выше: текстовыми тегами, или двоичными кодами?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru