powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / gcc + march
10 сообщений из 10, страница 1 из 1
gcc + march
    #38007500
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, объясните почему не компилируется под разные архитектуры:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
gcc -m32 -march=i386 -o ELF-i386-x86 example.c
gcc -m32 -march=i486 -o ELF-i486-x86 example.c
gcc -m32 -march=i586 -o ELF-i586-x86 example.c
gcc -m32 -march=i686 -o ELF-i686-x86 example.c

gcc -m32 -march=pentium3 -o ELF-pentium2-x86 example.c
gcc -m32 -march=pentium3 -o ELF-pentium3-x86 example.c
gcc -m32 -march=pentium3 -o ELF-pentium4-x86 example.c


во всех случаях получаю i386:

...
Рейтинг: 0 / 0
gcc + march
    #38007620
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nauseousво всех случаях получаю i386А ты в этом уверен?
Открой http://www.skyfree.org/linux/references/ELF_Format.pdf , почитай страницу 1-4.
Открой http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html , почитай первый абзац.
...
Рейтинг: 0 / 0
gcc + march
    #38007668
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, уверен.. - я же кинул кусок бинара, там четко во всех случаях прописано Intel 80386
...
Рейтинг: 0 / 0
gcc + march
    #38007895
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nauseous, а внутри этого example ты используешь features для целевых архитектур
или просто пишешь printf('Hello world\n'); ?
...
Рейтинг: 0 / 0
gcc + march
    #38008635
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nauseousWhite Owl, уверен.. - я же кинул кусок бинара, там четко во всех случаях прописано Intel 80386Если уверен, то прочитай спецификацию ELF еще раз. Потом еще раз и еще раз. Я тебе даже номер страницы сказал.
Когда перестанешь быть уверен - придешь извинишься.
...
Рейтинг: 0 / 0
gcc + march
    #38013863
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnauseous, а внутри этого example ты используешь features для целевых архитектур
или просто пишешь printf('Hello world\n'); ?
просто printf('Hello world\n');..
features это что?
...
Рейтинг: 0 / 0
gcc + march
    #38013865
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlnauseousWhite Owl, уверен.. - я же кинул кусок бинара, там четко во всех случаях прописано Intel 80386Если уверен, то прочитай спецификацию ELF еще раз. Потом еще раз и еще раз. Я тебе даже номер страницы сказал.
Когда перестанешь быть уверен - придешь извинишься.
я не настаиваю, а советуюсь.. на мануал легко ссылаться, ответь или не флуди - я по делу спросил
...
Рейтинг: 0 / 0
gcc + march
    #38013927
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nauseous,

Опция -march, не смотря на название, задает не архитектуру для исполняемого файла, а всего лишь тип процессора под который будет оптимизирован код для выбранной архитектуры (-m32, она же i386)
То что вы хотите (чтобы тип проца под который оптимизировано показывался в заголовке ELF) не предусмотрено форматом ELF.
Там будет в любом случае будет показано i386 (для -m32).

Обычно тип процессора для программы указывается внешними по отношению к ELF средствами.
Например программа собирается в пакет и тип процессора (наряду с другими атрибутами) указывается в имени пакета.
...
Рейтинг: 0 / 0
gcc + march
    #38014013
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskynauseous,

Опция -march, не смотря на название, задает не архитектуру для исполняемого файла, а всего лишь тип процессора под который будет оптимизирован код для выбранной архитектуры (-m32, она же i386)
То что вы хотите (чтобы тип проца под который оптимизировано показывался в заголовке ELF) не предусмотрено форматом ELF.
Там будет в любом случае будет показано i386 (для -m32).

Обычно тип процессора для программы указывается внешними по отношению к ELF средствами.
Например программа собирается в пакет и тип процессора (наряду с другими атрибутами) указывается в имени пакета.
получается что под unix не реально собрать i486, i586.. так? или все таки возможность есть?
можно пример правильной сборки?
...
Рейтинг: 0 / 0
gcc + march
    #38014071
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nauseousAnatoly Moskovskynauseous,

Опция -march, не смотря на название, задает не архитектуру для исполняемого файла, а всего лишь тип процессора под который будет оптимизирован код для выбранной архитектуры (-m32, она же i386)
То что вы хотите (чтобы тип проца под который оптимизировано показывался в заголовке ELF) не предусмотрено форматом ELF.
Там будет в любом случае будет показано i386 (для -m32).

Обычно тип процессора для программы указывается внешними по отношению к ELF средствами.
Например программа собирается в пакет и тип процессора (наряду с другими атрибутами) указывается в имени пакета.
получается что под unix не реально собрать i486, i586.. так? или все таки возможность есть?
можно пример правильной сборки?

Мда, пациент пошел непонятливый.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / gcc + march
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]