Не поймите меня неправильно, посмотрев заголовок вопроса - я знаю, что это (формат для переносимых исполняемых файлов). Но моя область интереса немного отличается
МОЕ СОКРАЩЕНИЕ
Я участвую в приложениях повторного хостинга/перенацеливания, которые изначально принадлежат третьим сторонам. Проблема в том, что иногда форматы объектных кодов также находятся в форматах .elf,.COFF и все еще говорят: "Исполняемые и связанные".
Я в первую очередь пользователь Windows и знаю, что когда вы компилируете и собираете свой код на C/С++, вы получаете что-то похожее на .o или .obj. которые не исполняются (ну, я никогда не пытался их выполнить). Но когда вы завершите связывание статических и динамических библиотек и завершите создание, появится исполняемый файл. Мое понимание заключается в том, что вы можете продолжить и связать этот исполняемый файл или "bash" проверить его с помощью какой-либо формы script, если это необходимо.
Однако в Linux (или в UNIX-подобных системах) есть файлы .o после компиляции и сборки кода C/С++. И как только связь будет выполнена, исполняемый файл будет в формате a.out(по крайней мере, в дистрибутиве Linux Ubuntu). Это может быть очень хорошо в другом дистрибутиве. В моем быстром веб-поиске ни один из источников ничего не упоминал о файлах .o в качестве исполняемых файлов.
ВОПРОСЫ
Поэтому мой вопрос превращается в следующее:
-
Каковы истинные определения для переносимых исполняемых файлов и объектного кода?
-
Как выглядит то, что платформа Windows и UNIX охватывает оба исполняемых файла annd object code в том же формате файла (.COFF,.elf).
-
Я неверно истолковываю "Linkable"? Моя интерпретация "Linkable" - это компилируемый объектный код, который затем может быть "привязан" к другим статическим/динамическим библиотекам ссылок. Это глупая мысль?
-
На основании вопроса 1. (и, возможно, 2) мне нужно использовать таблицы символов (например,.LUM или .MAP файлы) с объектным кодом? Символы как в отладочных символах и их использование при повторном размещении файлов исполняемых файлов/объектов на другой машине.
Заранее благодарим за правильные подталкивания. Между тем, я буду продолжать копать и обновлять вопрос, если это необходимо.
UPDATE
Мне удалось выкопать это откуда-то:( Кажется, что я много глотаю.