~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 7A5491D4508A2C4DBE691D69BC48A602__1717871400 ✰
Заголовок документа оригинал.:
✰ Executable - Wikipedia ✰
Заголовок документа перевод.:
✰ Исполняемый файл — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Executable ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/7a/02/7a5491d4508a2c4dbe691d69bc48a602.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/7a/02/7a5491d4508a2c4dbe691d69bc48a602__translat.html ✰
Дата и время сохранения документа:
✰ 15.06.2024 02:43:15 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 8 June 2024, at 21:30 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Исполняемый файл — Википедия Jump to content

Исполняемый файл

Из Википедии, бесплатной энциклопедии

Шестнадцатеричный дамп исполняемого загрузчика реального режима . Первый столбец состоит из адресов первого байта во втором столбце, который содержит байты данных в шестнадцатеричном формате ( первый младший байт ), а последний столбец состоит из соответствующей формы ASCII . [1]

В информатике исполняемый код , исполняемый файл или исполняемая программа , иногда просто называемые исполняемым или двоичным файлом , заставляют компьютер «выполнять указанные задачи в соответствии с закодированными инструкциями ». [2] в отличие от файла данных , который должен быть интерпретирован ( анализирован ) интерпретатором (информатика), чтобы быть функциональным. [3]

Точная интерпретация зависит от использования. Под «инструкциями» традиционно понимаются инструкции машинного кода для физического процессора . [4] В некоторых контекстах файл, содержащий инструкции сценария (например, байт-код ), также может считаться исполняемым.

Генерация исполняемых файлов [ править ]

Исполняемые файлы могут быть закодированы вручную на машинном языке, хотя гораздо удобнее разрабатывать программное обеспечение в виде исходного кода на языке высокого уровня , который может быть легко понятен людям. В некоторых случаях вместо этого может быть указан исходный код на языке ассемблера , который остается удобочитаемым для человека, но при этом тесно связан с инструкциями машинного кода.

Язык высокого уровня компилируется либо в файл исполняемого машинного кода, либо в неисполняемый файл машинного кода – объектный файл в какой-то ; эквивалентный процесс в исходном коде языка ассемблера называется сборкой . Несколько объектных файлов связаны для создания исполняемого файла. Объектные файлы, исполняемые или нет, обычно хранятся в контейнерном формате , таком как исполняемый и связываемый формат (ELF) или переносимый исполняемый файл (PE), который зависит от операционной системы . [5] Это придает структуру сгенерированному машинному коду, например, разделяя его на такие разделы, как .text (исполняемый код), .data (инициализированные глобальные и статические переменные) и .rodata (данные только для чтения, такие как константы и строки).

Исполняемые файлы обычно также включают в себя систему времени выполнения , которая реализует функции языка времени выполнения (такие как планирование задач , обработка исключений , вызов статических конструкторов и деструкторов и т. д.) и взаимодействие с операционной системой, в частности, передачу аргументов, среды и возврат статуса выхода. вместе с другими функциями запуска и завершения работы, такими как освобождение ресурсов, таких как дескрипторы файлов . Для C это делается путем связывания объекта crt0 , который содержит фактическую точку входа и выполняет настройку и завершение работы путем вызова библиотеки времени выполнения . [6]

Таким образом, исполняемые файлы обычно содержат значительный дополнительный машинный код помимо кода, непосредственно сгенерированного из конкретного исходного кода. В некоторых случаях желательно это опустить, например при разработке встроенных систем, или просто чтобы понять, как работают компиляция, компоновка и загрузка. В C это можно сделать, опустив обычную среду выполнения и вместо этого явно указав сценарий компоновщика, который генерирует точку входа и обрабатывает запуск и завершение работы, например вызов main для запуска и возврата статуса выхода ядру в конце. [7]

Исполнение [ править ]

Для того, чтобы система выполнялась (например, операционная система , прошивка [ нужна цитата ] или загрузчик системы ), исполняемый файл должен соответствовать двоичному интерфейсу приложения (ABI). В простых интерфейсах файл исполняется путем загрузки его в память, перехода к началу адресного пространства и выполнения оттуда. [8] В более сложных интерфейсах исполняемые файлы имеют дополнительные метаданные, определяющие отдельную точку входа . Например, в ELF точка входа определяется в заголовке. e_entry Поле, в котором указывается адрес (виртуальной) памяти, с которого следует начать выполнение. [9] В коллекции компиляторов GNU это поле задается компоновщиком на основе _start символ. [10]

См. также [ править ]

Ссылки [ править ]

  1. ^ Челови, Пол (2002). Встроенная кулинарная книга FreeBSD . Эльзевир . стр. 108, 187–188. ISBN  1-5899-5004-6 . Проверено 06 марта 2022 г.
  2. ^ «исполняемый» . Интернет-словарь Мерриам-Вебстера . Мерриам-Вебстер . Проверено 19 июля 2008 г.
  3. ^ Мюллер, Джон Пол (2007). Администрирование Windows из командной строки для Windows Vista, Windows 2003, Windows XP и Windows 2000 . Джон Уайли и сыновья . п. 24. ISBN  978-0-470-04616-6 . Проверено 6 марта 2023 г.
  4. ^ «Машинные инструкции» . Гики для Гиков . 03.11.2015 . Проверено 18 сентября 2019 г.
  5. ^ «Глава 4: Объектные файлы» . refspecs.linuxbase.org . Проверено 18 сентября 2019 г.
  6. ^ Фишер, Тим. «Список расширений исполняемых файлов» . lifewire.com . Проверено 18 сентября 2019 г.
  7. ^ МакКеллар, Джессика (16 марта 2010 г.). «Привет из мира, свободного от libc! (Часть 1)» .
  8. ^ Смит, Джеймс Э .; Наир, Рави (16 мая 2005 г.). «Архитектура виртуальных машин». Компьютер . 38 (5): 33–34. дои : 10.1109/MC.2005.173 .
  9. ^ Руслинг, Дэвид А. (1999). «Глава 4 – Процессы» . Ядро Linux . сек. 4.8.1 – ЭЛЬФ . Проверено 6 марта 2023 г.
  10. ^ Пейдж, Дэниел (2009). Практическое введение в архитектуру компьютера . Springer Science+Business Media . стр. 415–416. ISBN  978-1-84882-255-9 . Проверено 6 марта 2023 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 7A5491D4508A2C4DBE691D69BC48A602__1717871400
URL1:https://en.wikipedia.org/wiki/Executable
Заголовок, (Title) документа по адресу, URL1:
Executable - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)