Форум программистов, компьютерный форум, киберфорум
Assembler: Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,304
Записей в блоге: 12

Gas, создающий ELF, но работающий из-под Windows

30.01.2017, 13:22. Показов 3153. Ответов 14

Студворк — интернет-сервис помощи студентам
Нужен gas (GNU Assembler), работающий из-под Windows, но создающий ELF.
У меня есть MinGW, но даже при запуске ld -b elf-i386 всё равно создаются файлы формата PE EXE.
Разумеется, нужна и библиотека msvcrt (crtdll) с функциями printf, scanf, exit и пр.
Подскажите, пожалуйста, где найти... Шерстю инет, пока ничего не нахожу такого
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.01.2017, 13:22
Ответы с готовыми решениями:

GCC:Компиляция в формат elf под Windows
Можно ли при помощи gcc создать в Windows исполняемый файл в формате elf? Если можно, то как?

Есть ли смысл использовать GAS и NASM под Windows
Привет, есть ли смысл юзать GAS или NASM в винде, ведь они предназначали как я понял для Linux? А какие виды асма вы рекомендуете под...

Пример программы на gas для windows
Здравствуйте. Начал заниматься ассемблером. Выбор пал на gas т.к в результате дизассемблирования получается AT&T код. Сижу под седьмой...

14
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
30.01.2017, 13:34
1) Установи в Windows VMWare
2) Создай в VMWare виртуальную машину с Linux
3) Установи в VMWare Ubuntu
4) Профит!!!!
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,304
Записей в блоге: 12
30.01.2017, 13:42  [ТС]
агерон, ну это понятная история. Только не очень удобная...
0
Заблокирован
30.01.2017, 14:11
Jin X, если у тебя windows 10, то включи insider builds, потом через Win+R пропиши optionalfeatures и включи bash for windows. Я с этой фичей даже линуксовую виртуалку перестал использовать.
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,304
Записей в блоге: 12
30.01.2017, 19:14  [ТС]
nimazzzy, нет, не Windows 10...
Неужели ничего нет конкретно под Windows?
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
30.01.2017, 19:29
а почему виртуалка тебе не удобна?
Да конечно нужно нести накладные расходы но они не большие с учетом полностью рабочей Linux среды
Linux при желании можно запустить на таких параметрах
1) 1 ядро
2) 2Гб оперативки
3) 25ГБ HDD
4) встроеная (эмулируемая) видео карта

P. S. лучше сразу пользоваться нормальным Linux чем искать мало понятные, и вряд ли существующие, инструменты
P. P. S. не так страшен Linux как его малюют, кто знает может он вам понравиться и вы убежите с Windows в стан сторонников СПО ?
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.01.2017, 19:57
В самой windows формат elf не поддерживается, а потому native'ные утилиты для windows не работают с elf'ом. Собери себе кросс-binutils с windows на linux, живи и радуйся

Добавлено через 23 секунды
Ну и до кучи хотелось бы понимать, на кой тебе сдался elf под windows'ом
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,304
Записей в блоге: 12
31.01.2017, 15:01  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Ну и до кучи хотелось бы понимать, на кой тебе сдался elf под windows'ом
Чтобы собрать прогу, которая будет запускаться на Linux'е
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
31.01.2017, 16:13
Значит нужно собирать cross-binutils
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,304
Записей в блоге: 12
31.01.2017, 18:13  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Значит нужно собирать cross-binutils
Evg, спасибо
Осталось только разобраться как это делается... Ни разу не юзай Линух
Пойду ставить Ubuntu...
0
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
07.02.2017, 03:03
Jin X, as в MnGW генерит объектные файлы в формате COFF, но можно переконвертировать через objcopy в кучу других, включая elf64_x86_64. В MinGW также имеется линковщик ld.gold он работает исключительно с elf...
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,304
Записей в блоге: 12
07.02.2017, 13:27  [ТС]
smartpointer, х/з, у меня не COFF он делает. И ld.gold'а тоже нет... может, не скачан просто при установке...

Добавлено через 3 минуты
В каком package он находится?
0
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
07.02.2017, 14:55
Jin X, mingw-w64 есть точно, на счет остальных не знаю... Формат объектного файла можно узнать через objdump file.o -f , если начинается с pe - значит это coff... У стандартного линкера ld (именно MinGw-шный порт) есть проблема, что он работает только с PE-файлами.
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,304
Записей в блоге: 12
07.02.2017, 15:49  [ТС]
smartpointer, спасибо, гляну
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,304
Записей в блоге: 12
09.02.2017, 23:54  [ТС]
В общем, получилось у меня вот что (из комплекта):
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
set gaspath=D:\Lang\CPP\MinGW\i686-6.3.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin
set progname=inout
set test=0
 
%gaspath%\as.exe -o %progname%.o %progname%.s
if not exist %progname%.o exit /b
 
if [%test%] == [1] (
  %gaspath%\as.exe -o %progname%_test.o %progname%_test.s
  %gaspath%\objcopy.exe -O elf32-i386 %progname%.o
  %gaspath%\objcopy.exe -O elf32-i386 %progname%_test.o 
  %gaspath%\ld.gold.exe -s -o %progname%_test.elf %progname%_test.o %progname%.o
) else (
  %gaspath%\objcopy.exe -O elf32-i386 %progname%.o
  %gaspath%\ld.gold.exe -s -o %progname%.elf %progname%.o
)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.02.2017, 23:54
Помогаю со студенческими работами здесь

Баннер-вымогатель, создающий вторую папку Windows
Здравствуйте, уважаемые форумчане! Принесли ноутбук, на который "поймали" баннер. Запустил его в безопасном режиме - баннер...

Код, работающий в Windows 7, не работает в Windows XP
Как этот код сделать универсальным, что бы работал не только в Windows 7 а и в XP? В ХP пишет путь не найден. for /f %%i in ('dir /b...

Windows, работающий без установки.
привет. когда-то, в начале 2000ых встречал такую XPху, которая грузилась с диска без необходимости установки. как такие вендусы...

Подскажите компилятор, корректно работающий на Windows 8
Подскажите компилятор корректно работающий на Windows 8. Уже всё перепробывал Dev C++ работает, но некоторые программы не выполняет, и вот...

Где скачать Работающий Pascal на Windows 8?
скачивала все подряд уже, Free Pascal выводит ошибки, такие как Error while linking и Fatal: Can't find unit system при компилляции Разных...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru