Что такое объектный файл
Перейти к содержимому

Что такое объектный файл

  • автор:

Объектный файл

Обье́ктный мо́дуль (также — объектный файл, англ. object file ) — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто называемый бинарным), который может быть объединён с другими объектными файлами при помощи редактора связей (компоновщика) для получения готового исполнимого модуля либо библиотеки.

Объектные файлы представляют собой блоки машинного кода и данных, с неопределенными адресами ссылок на данные и процедуры в других объектных модулях, а также список своих процедур и данных. Компоновщик собирает код и данные каждого объектного модуля в итоговую программу, вычисляет и заполняет адреса перекрестных ссылок между модулями. Также в процессе компоновки происходит связывание программы со статическими и динамическими библиотеками (являющихся архивами объектных файлов).

См. также

  • Executable and Linking Format
  • Ассемблер

Wikimedia Foundation . 2010 .

Смотреть что такое «Объектный файл» в других словарях:

  • Объектный модуль — (также объектный файл, англ. object file) файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто … Википедия
  • Объектный Си — Objective C Класс языка: объектно ориентированный, мультипарадигмальный: рефлексивно ориентированный Появился в: 1986 г. Автор(ы): Типизация данных: строгая полиморфная, статическая Основные реализации: Apple gcc Испытал … Википедия
  • Список расширений имени файла/A — / * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Примечание: Поскольку расширение имени файла может быть любым, представленный список не является полным … Википедия
  • Метаобъектный компилятор — Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/25 июня 2012. Пока процесс обсуждения … Википедия
  • DICOM — (англ. Digital Imaging and Communications in Medicine) отраслевой стандарт создания, хранения, передачи и визуализации медицинских изображений и документов обследованных пациентов. Содержание 1 DICOM Standard 2 DICOM File 3 DICOM… … Википедия
  • D (язык программирования) — У этого термина существуют и другие значения, см. D. D Семантика: мультипарадигменный: императивное, объектно ориентированное, обобщённое программирование Тип исполнения: компилятор Появился в: 1999 Автор(ы) … Википедия
  • Компиляция — в программировании перевод программы с языка высокого уровня в машинный язык. Результатом компиляции является объектный файл с необходимыми внешними ссылками для компоновщика. См. также: Трансляторы Финансовый словарь Финам … Финансовый словарь
  • Дизассемблер — транслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера. По режиму работы с пользователем делятся на Автоматические Интерактивные Примером автоматических дизассемблеров может служить… … Википедия
  • Блоб — О типе данных в БД см. BLOB. Блоб (от англ. binary linked object объект двоичной компоновки) объектный файл без публично доступных исходных кодов, загружаемый в ядро операционной системы. Обычно этот термин применяется только по… … Википедия
  • Загружаемый модуль ядра — (loadable kernel module, LKM) в информатике объектный файл, содержащий код, расширяющий возможности ядра операционной системы. Модули используются, чтобы добавить поддержку нового оборудования или файловых систем или для добавления… … Википедия
  • Обратная связь: Техподдержка, Реклама на сайте
  • �� Путешествия

Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.

  • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
  • Искать во всех словарях
  • Искать в переводах
  • Искать в ИнтернетеИскать в этой же категории

Файл объекта — Object file

Файл объекта — это компьютерный файл, содержащий объектный код, то есть машинный код, выводимый ассемблером или компилятором. Объектный код обычно перемещаемый, а не напрямую исполняемый. Существуют различные форматы объектных файлов, и один и тот же машинный код может быть упакован в разные форматы объектных файлов. Объектный файл может также работать как разделяемая библиотека.

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

Термин «объектная программа» восходит как минимум к 1950-м годам:

Термин в автоматическом программировании для программы на машинном языке, созданной машиной путем перевода исходной программы, написанной программистом, на язык, аналогичный алгебраическая нотация.

  • 1 Форматы объектных файлов
    • 1.1 Абсолютные объектные файлы
    • 1.2 Сегментация

    Форматы объектных файлов

    Там есть много разных форматов объектных файлов; изначально каждый тип компьютера имел свой уникальный формат, но с появлением Unix и других портативных операционных систем появились некоторые форматы, такие как COFF и ELF были определены и используются в различных типах систем. Один и тот же формат файла может использоваться как для ввода и вывода компоновщика, и, следовательно, в качестве формата файла библиотеки и исполняемого файла. Некоторые форматы могут содержать машинный код для разных процессоров, причем правильный код выбирается операционной системой при загрузке программы.

    Некоторые системы делают различие между файлами, которые являются непосредственно исполняемыми, и файлами, которые требуют обработки компоновщиком. Например, OS / 360 и последующие называют первый формат загрузочным модулем, а второй — объектным модулем. В этом случае файлы имеют совершенно разные форматы.

    Дизайн и / или выбор формата объектного файла является ключевой частью общего дизайна системы. Это влияет на производительность компоновщика и, таким образом, на время выполнения программы программист. Если формат используется для исполняемых файлов, дизайн также влияет на время, необходимое программам, чтобы начать выполнение, и, следовательно, на отзывчивость для пользователей.

    Файлы абсолютных объектов

    Многие ранние компьютеры или небольшие микрокомпьютеры поддерживают только формат абсолютных объектов. Программы нельзя перемещать; они должны быть собраны или скомпилированы для выполнения по конкретным заранее определенным адресам. Файл не содержит информации о перемещении или привязке. Эти файлы могут быть загружены в память для чтения / записи или сохранены в постоянной памяти. Например, монитор Motorola 6800 содержит процедуру для чтения абсолютного объектного файла (SREC Format ) с бумажной ленты. DOS COM-файлы являются более поздним примером абсолютных объектных файлов.

    Сегментация

    Типы данных, поддерживаемые типичными форматами объектных файлов:

    • Заголовок (описательная и управляющая информация)
    • Сегмент кода («текстовый сегмент», исполняемый код)
    • Сегмент данных (инициализированные статические переменные )
    • сегмент данных только для чтения (rodata, инициализированные статические константы )
    • сегмент BSS (неинициализированные статические данные, как переменные, так и константы)
    • Внешние определения и ссылки для связывания
    • информации о перемещении
    • Динамическое связывание информации
    • Отладочная информация

    Сегменты в разных объектных файлах могут быть объединены компоновщиком в соответствии с правилами, указанными при определении сегментов. Существуют соглашения для сегментов, совместно используемых объектными файлами; например, в DOS есть разные модели памяти, которые определяют имена специальных сегментов и или нет, они могут быть объединены.

    Отладочная информация может быть либо неотъемлемой частью формата объектного файла, как в COFF, либо полунезависимым f ormat, который может использоваться с несколькими форматами объектов, такими как stabs или DWARF.

    Библиотека дескрипторов двоичных файлов проекта GNU (Библиотека BFD) предоставляет общий API для управления объектными файлами в различных форматах.

    Ссылки

    Дополнительная литература

    • Левин, Джон Р. (2000). Линкеры и загрузчики. Издательство Морган Кауфманн. п. 256. ISBN 1-55860-496-0.

    Исходный и объектный код.
    В чем разница?

    Термины «исходный код» и «объектный код» довольно часто встречаются в мире программирования и веб-дизайна. В этой статье мы постараемся разобраться в этих терминах, а также объясним контекст, в котором они используются.

    Что такое исходный код

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

    После создания исходного кода он сохраняется в файле в соответствии с его расширением. Например, файл JavaScript сохраняется с расширением «.js», а файл C++ — с расширением «.cpp». Переводчик языка получает исходный код, а затем преобразует его в машинный код, который по другому называется объектным кодом.

    Для эффективной разработки программы исходный код пишется либо на ассемблере, либо на высокоуровневом языке программирования.

    Язык ассемблера — это машинно-ориентированный язык, который требует специальных знаний для его расшифровки. В высокоуровневых языках программирования в качестве инструкций используются английские и математические символы, а также языки — C, C++, Java, Python, JavaScript.

    Как используется исходный код

    Исходный код написан простым текстом, который хорошо понятен людям. Исходный код любого веб-сайта найти несложно — достаточно щелкнуть правой кнопкой мыши на любой веб-странице и перейти к пункту «Просмотреть исходный код страницы».

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

    Что такое объектный код

    Объектный код представляет собой компьютерный числовой код, который состоит из двоичных чисел, таких как 0 и 1, и может быть распознан только компьютером. Грубо говоря, объектный код — это промежуточное представление кода, то есть еще не машинный, но уже не исходный.

    Объектный код обычно используется на этапе сборки программы. Это вывод исходного кода после компиляции. Объектный код остается в объектном файле — COM, COFF (общий формат объектных файлов). Объектный код, машинный код и двоичный код могут использоваться взаимозаменяемо.

    Как используется объектный код

    Объектный код обычно включает интерпретированную или скомпилированную программируемую логику, встроенное ПО и различные библиотеки.

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

    Объектный код написан с помощью нулей и единиц, и его сложно прочитать людям, для его чтения необходим компьютер.

    Компиляция исходного код в объектный

    Компилятор преобразует удобочитаемый код в объектный (или машинный) код. У каждого высокоуровневого языка программирования есть свой собственный компилятор, который преобразует код в язык, понятный машине. Визуально процесс разработки ПО может выглядеть примерно так:

    Исходный код и объектный код можно рассматривать как версии до и после компьютерного программирования. Рассмотрим этапы:

    1. Программист, который использует типы языка Java в нужной последовательности, сохраняет их, изменяя наименование так, чтобы оно содержало исходный код.
    2. После этого файл готов к компиляции и проходит через компилятор Java.
    3. Полученный результат (скомпилированный файл) называется объектным кодом.
    4. Объектный код содержит последовательность инструкций, которые понятны процессору, но трудны для понимания человеком.

    Разница между исходным и объектным кодом

    Теперь, когда у нас есть общее представление об исходном и объектном коде, мы можем сформулировать основное различие между этими двумя терминами.

    Если коротко, то исходный код — это набор инструкций, который написан с использованием языка программирования, а объектный код — это результат исходного кода после обработки компилятором.

    Исходный код против объектного кода

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

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

    Объектный модуль

    Объе́ктный мо́дуль (также — объектный файл, англ. object file ) — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто называемый бинарным), который может быть объединён с другими объектными файлами при помощи редактора связей (компоновщика) для получения готового исполнимого модуля, либо библиотеки.

    Объектные файлы представляют собой блоки машинного кода и данных, с неопределенными адресами ссылок на данные и процедуры в других объектных модулях, а также список своих процедур и данных. Компоновщик собирает код и данные каждого объектного модуля в итоговую программу, вычисляет и заполняет адреса перекрестных ссылок между модулями. Связывание со статическими библиотеками выполняется редактором связей или компоновщиком (который может представлять собой отдельную программу или быть частью компилятора), а с операционной системой и динамическими библиотеками связывание выполняется при исполнении программы после ее загрузки в память.

    См. также

    • Executable and Linking Format
    • Ассемблер
    • Отладочные символы
    • Теория компиляторов
    • Форматы файлов

    Wikimedia Foundation . 2010 .

    • Исполнимый модуль
    • Система команд

    Полезное

    Смотреть что такое «Объектный модуль» в других словарях:

    • Объектный модуль — согласно ГОСТ 19781 90 программный модуль, получаемый в результате трансляции исходного модуля. Объектный модуль программа на машинном языке с неразрешенными внешними ссылками. См. также: Программные модули Финансовый словарь Финам … Финансовый словарь
    • объектный модуль — Программный модуль, получаемый в результате компиляции исходного модуля. Примечание Объектный модуль обычно полностью готов к редактированию связей. [ГОСТ 19781 90] Тематики обеспеч. систем обраб. информ. программное EN object module … Справочник технического переводчика
    • Объектный модуль — 17. Объектный модуль Object module Программный модуль, получаемый в результате компиляции исходного модуля. Примечание. Объектный модуль обычно полностью готов к редактированию связей Источник: ГОСТ 19781 90: Обеспечение систем обработки… … Словарь-справочник терминов нормативно-технической документации
    • Модуль — (от лат. modulus «маленькая мера»): В Викисловаре есть статья «модуль» Мо … Википедия
    • Модуль (значения) — Модуль (от лат. modulus «маленькая мера») составная часть, отделимая или хотя бы мысленно выделяемая из общего. Модульной обычно называют вещь, состоящую из чётко выраженных частей, которые нередко можно убирать или добавлять, не разрушая вещь… … Википедия
    • Модуль объектный — 17 76 Источник: ГОСТ 19781 90: Обеспечение систем обработки информации программное. Термины и определения … Словарь-справочник терминов нормативно-технической документации
    • модуль — 02.01.13 модуль (линейная или многострочная символика штрихового кода) [module ] (1): Номинальная единица измерения линейного размера в знаке символа. Примечание В некоторых символиках ширина элемента … Словарь-справочник терминов нормативно-технической документации
    • конечный модуль — выходной модуль рабочий модуль объектный модуль — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы выходной модульрабочий модульобъектный модуль EN… … Справочник технического переводчика
    • Загружаемый модуль ядра — (loadable kernel module, LKM) в информатике объектный файл, содержащий код, расширяющий возможности ядра операционной системы. Модули используются, чтобы добавить поддержку нового оборудования или файловых систем или для добавления… … Википедия
    • ГОСТ 19781-90: Обеспечение систем обработки информации программное. Термины и определения — Терминология ГОСТ 19781 90: Обеспечение систем обработки информации программное. Термины и определения оригинал документа: 9. Абсолютная программа Non relocatable program Программа на машинном языке, выполнение которой зависит от ее… … Словарь-справочник терминов нормативно-технической документации
    • Обратная связь: Техподдержка, Реклама на сайте
    • �� Путешествия

    Экспорт словарей на сайты, сделанные на PHP,
    WordPress, MODx.

    • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
    • Искать во всех словарях
    • Искать в переводах
    • Искать в ИнтернетеИскать в этой же категории

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *