Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208

.elf и для чего они нужны

18.03.2015, 23:51. Показов 6412. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно сабж
Почитал Вики, как-то для новичка не очень много прояснилось
И объясните еще пожалуйста разницу с ехе
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2015, 23:51
Ответы с готовыми решениями:

Что такое compile-time алгоритмы и для чего они нужны?
А есть от них хоть какая-то практическая польза? По-моему нет

Для чего нужны сужающие преобразования как они работают и на сколько они важны?
Я читаю одну книгу и застрял на одной теме "Преобразования", и там есть такой вот код double х {2.7}; int у {х}; // Ошибка : double...

Allocator_traits propagate_on_container_ - для чего они нужны
В std::allocator_traits есть такие определения как propagate_on_container_copy_assignment, propagate_on_container_move_assignment и...

12
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
19.03.2015, 00:33
У elf-файлов нет расширения .elf.
Цитата Сообщение от animator404 Посмотреть сообщение
Собственно сабж
Для чего нужны? Для того же, для чего и exe под виндой - бинарный формат для загрузки в память и запуска.
Цитата Сообщение от animator404 Посмотреть сообщение
И объясните еще пожалуйста разницу с ехе
Форматы и первого и второго описаны и доступны. Разница везде.
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
19.03.2015, 12:27  [ТС]
Цитата Сообщение от Velesthau Посмотреть сообщение
Для чего нужны? Для того же, для чего и exe под виндой - бинарный формат для загрузки в память и запуска.
так в линуксе не нужно .exe а приложение запускается
и я не разу не видел чтобы при дабл клике на elf запускалась программа

можете описать применение такого файла, на примере
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
19.03.2015, 12:48
Цитата Сообщение от animator404 Посмотреть сообщение
так в линуксе
В линуксе бинарные исполняемые файлы (и библиотеки тоже) - elf.
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
19.03.2015, 12:49  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
В линуксе бинарные исполняемые файлы (и библиотеки тоже) - elf.
elf но без .elf в названии исполняемого файла посколку линуксу это не нужно
правильно?
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
19.03.2015, 12:56
Цитата Сообщение от animator404 Посмотреть сообщение
так в линуксе не нужно .exe а приложение запускается
Что это за бессмысленная фраза? Да, в линуксе программы запускаются. Сам в шоке.
Цитата Сообщение от animator404 Посмотреть сообщение
и я не разу не видел чтобы при дабл клике на elf запускалась программа
Это зависит от файлового менеджера, а не формата файла.
Цитата Сообщение от animator404 Посмотреть сообщение
можете описать применение такого файла, на примере
Запусти /bin/bash - применение. Запустил командный интерпретатор.

Добавлено через 44 секунды
Цитата Сообщение от animator404 Посмотреть сообщение
elf но без .elf в названии исполняемого файла посколку линуксу это не нужно
правильно?
Не нужно. Можешь .doc поставить. ничего не изменится. Если не считать файловые менеджеров и их особенности.
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
19.03.2015, 12:57  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
В линуксе бинарные исполняемые файлы (и библиотеки тоже) - elf.
elf но без .elf в названии исполняемого файла посколку линуксу это не нужно
правильно?
Цитата Сообщение от Velesthau Посмотреть сообщение
Запусти /bin/bash - применение. Запустил командный интерпретатор.
я вас вообще не понимаю
причем тут скрипты к бинарникам?
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
19.03.2015, 12:57
Цитата Сообщение от animator404 Посмотреть сообщение
Почитал Вики
А надо было взять и почитать книгу

Добавлено через 23 секунды
Цитата Сообщение от animator404 Посмотреть сообщение
причем тут скрипты к банарникам?
При том, что /bin/bash - это elf-файл. Скрипты здесь не при чем.
1
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
19.03.2015, 12:59  [ТС]
Цитата Сообщение от Velesthau Посмотреть сообщение
При том, что /bin/bash - это elf-файл. Скрипты здесь не при чем.
а, понял - сам интерпретатор

окю тогда так. я компилирую код с gcc на линуксе
какой у финального файла будет формат?
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
19.03.2015, 13:08
Цитата Сообщение от animator404 Посмотреть сообщение
elf но без .elf в названии исполняемого файла посколку линуксу это не нужно
правильно?
Расширение не нужно, потому что исполняемость файла определяется правами в файловой системе.

Цитата Сообщение от animator404 Посмотреть сообщение
какой у финального файла будет формат?
elf будет.

командой
Bash
1
objdump -f имя_твоего_бинарного_файла
можешь удостовериться.

Вот например:
$ objdump -f /usr/bin/bash

/usr/bin/bash: формат файла elf32-i386
архитектура: i386, флаги 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
начальный адрес 0x08060238
1
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
19.03.2015, 13:30
Цитата Сообщение от animator404 Посмотреть сообщение
какой у финального файла будет формат?
запусти команду file на результат работы компилятора и она тебе напишет, что за файл.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
19.03.2015, 15:44
Цитата Сообщение от animator404 Посмотреть сообщение
так в линуксе не нужно .exe а приложение запускается
и я не разу не видел чтобы при дабл клике на elf запускалась программа
Сие есть разный способ работы в операционных системах. О том, допустимо ли исполнять файл, или нет, windows делает вывод на основании расширения файла (.bat, .com, .exe, .msi и т.п. - можно, остальные нельзя). Но вот в linux'е, как и в любом юниксе, информация о том, можно запускать файл или нельзя хранится в атрибутах файла (есть атрибуты для чтения, записи и исполнения), при этом расширение файла не играет никакой роли. Если у файла есть права на исполнение, значит linux подразумевает, что его можно исполнять.

Далее linux читает первые несколько байта этого файла. Если в первых двух байтах записаны #!, то linux предполагает, что файл является скриптом и далее читает путь до интерпретатора, при помощи которого исполняется файл. У скриптов самой первой строкой обычно стоит что-то типа #!/usr/bin/perl, что означает, что при запуске файла под именем a.pl в реальности linux запустит "/usr/bin/perl a.pl". Если в первых байтах написано .ELF (где . - это символ с кодом 127), то linux считает, что мы имеем бинарник в формате elf (который по смыслу совпадает с виндузовым форматом exe) и далее запускает специальный загрузчик, который этот файл загрузит в память и исполнит. Наверное есть ещё куча всяких разных заголовков, которые трактуются специальным образом. Если по первым байтам не удалось выяснить тип файла, то современные linux'ы считают, что это скрипт, который надо исполнять при помощи текущего интерпретатора или что-то типа того, но здесь уже в разных ОС и версиях вполне могут работать разные соглашения

ELF - это формат файла, в который по специальным правилам записаны коды, данные, всякая информация для отладчика или дизассемблера и прочее барахло
2
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.03.2015, 17:13
Цитата Сообщение от animator404 Посмотреть сообщение
разницу с ехе
Именно для Windows - незначительна, "общий предок" у них - COFF.

EXE - это контейнер, для хранения чего угодно, обрабатываемый загрузчиком OS. За этим расширением может скрываться несколько различных форматов (DOS MZ, Win16 NE, OS2 LE/LX, Win32 PE, Win64 PE+), но все они начинаются с сигнатуры MZ, после которой загрузчик ожидает увидеть стандартный заголовок и набор таблиц - описателей формата.

Win32 PE - это "ELF для бедных", упрощенный вариант под единственную архитектуру.

А где хранится признак "исполняемости" файла - как часть имени (.EXE/.OCX/.SCR/.DLL etc) или в другом поле файловой системы - малозначимая деталь реализации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2015, 17:13
Помогаю со студенческими работами здесь

.clear() и .seekg() Для чего они нужны?
Здравствуйте! Изучал код и увидел 2 интересные строки, начал гуглить, но внятного ответа не нашел, или же просто не могу понять. Объясните...

Перечисления (enum): для чего они нужны? Как, когда и какими перечислениями уместнее пользоваться?
Предположим есть такой код: #include <iostream> #include <iomanip> #include <Windows.h> enum airplanes {SU6, SU29, SU34}; //...

Объясните 35-36 строчки ,что они делают и для чего они ?
//--------------------------------------------------------------------------- #include<iostream.h> #include <vcl.h> #pragma hdrstop ...

Что за драйвера такие, для чего они и нужны ли они вообще?
Что за драйвера такие, для чего они и нужны ли они вообще? 1 Intel SATA Preinstall driver (For AHCI / RAID Mode) Note: Press F6...

Struts для чего они нужны?
Привет всем! Сразу прошу не бить ногами, если кому-то вопрос показался идиотским. Но дело в том, что уже некоторое время пытаюсь...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru