Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2016.05.08;
Скачать: [xml.tar.bz2];

Вниз

Линкер и редактор объектников   Найти похожие ветки 

 
Pavia ©   (2015-08-22 20:30) [0]

Линкер программа которая связывает куски кода в единый код.
Кусками обычно называют объектный код, а единый код это исполняемый файл такой как exe, elf.

Собственно хотел узнать каким бы вы хотели видеть линкер?
На самом деле вопрос несколько шире.

Rouse_, делает защиты для файлов. И на верника у него есть инструмент для работы с секциями PE файла, получения изменения их. Получения списко процедур, формирование или удоления отладочной информации по файлу.

Хотелось понять какой инструмент нужен народу. Т.е это типа FASM с его стековой машиной на которой можно сформировать любой файл хоть BMP. Либо аналог make. Когда ручками прописывается какой файл в какую секцию вставить и куда расположить.Либо это cmake который делает многое полуавтоматически.
Либо напротив как в Delphi нажал F9 и знать не знаешь как и что там внутри. Разве что смещение точки входа и размер стека можно поменять.

В качестве выходной платформы планирую от микроконтроллеров до кластеров.

Просто хочется послушать мысли других и понять что нужно народу.


 
Игорь Шевченко ©   (2015-08-22 20:38) [1]

Грамотность


 
Kerk ©   (2015-08-22 20:48) [2]


> И на верника

http://freshnovosti.com/wp-content/uploads/2015/06/279990.png


 
Rouse_ ©   (2015-08-22 22:34) [3]

У FASM нет стековой машины :)
Да и вообще советую бросить сие дело, бо ты все понятия перемешал :)


 
Rouse_ ©   (2015-08-22 22:43) [4]

Ну, или, раз ты про линкер начал, начни с изучения  COFF и OMF  форматоф, причем первый в нескольких редакциях идет


 
Inovet ©   (2015-08-22 23:30) [5]

> [4] Rouse_ ©   (22.08.15 22:43)
> начни с изучения  COFF и OMF  форматоф, причем первый в нескольких редакциях идет

Хорошо, что я не собираюсь писать линкер под все платформы.


 
Rouse_ ©   (2015-08-22 23:39) [6]

Да и не нужно оно, все уже давно написано, вон к примеру yagarto - шикарная вещь была под арму, все еще пользуюсь, пары лет не прошло как куча новых тулчайнов вылезла :)


 
Pavia ©   (2015-08-23 00:13) [7]

Что-то анекдот вспомнился.

> У FASM нет стековой машины :)Да и вообще советую бросить
> сие дело, бо ты все понятия перемешал :)

Спорят хирург, инженер, программист о том, чья профессия древнее:

Хирург: Когда Бог создал женщину из ребра Адама - это была первая хирургическая операция - значит моя профессия древнее.

Инженер: но до человека Бог создал мир из хаоса, а это сложная инженерная работа, значит моя профессия древнее.

Программист (задумчиво): А вы знаете кто создал хаос...

Так вот не я первый создал этот хаус, он был до меня. Возьмём к примеру gpp с его линкером, никогда не отгадаешь какие параметры можно с какими комбинировать.  К примеру им можно создать база независимый код, но только если в объектном файле одна секция и именно с именем "text".

Да я собрал всё в кучу, но это только потому что мне так удобнее. Вернее нет я собрал. А я хочу что-бы участники форума, своими ответами, помогли собрать данные в кучу.  Хочу осмотреть проблему целиком со всех сторон, а не по частям. Линковка это установка связей и работа с ними, а не просто копирование данных из многих файлов в один.


> Ну, или, раз ты про линкер начал,

Не начал, а дошёл. ;-) Я прекрасно знаю что COFF и OMF  идут в разных редакциях и как они устроены. И то что в exe насчитывается 3 секции, которые отвечают за отладочную информацию. А в некоторых случаях и больше 3-х. То что существуют разные форматы именования функций в таблицах экспорта/импорта. И так далее.

Можно работу по линковки отдать пользователям, а можно всё сделать автоматически(как это делает Delphi). Поэтому мне и хочется понять насколько следует автоматизировать это дело.

Существует 3 подхода к работе.
1) Ручная;
2) Автоматизированная;
3) Автоматический.

Ручная это когда человек пишет скрипт для линковки. Автоматизированная это когда у человека есть инструмент который помогает сделать работу более эффективно. К примеру, make, cmake или objectedit. И автоматическая когда человек совсем не задумывается, а сразу получает готовое.
Но у людей бывают разные потребности. Кому-то надо объединить секции данных и кода. А кому-то напротив надо отделить инициированные/не инициированные данные от постоянных. А кого-то и вовсе это не волнует.

Ещё хотелось бы узнать кому чем удобнее пользоваться.


 
Германн ©   (2015-08-23 01:11) [8]


> Pavia ©   (23.08.15 00:13) [7]
>
> Что-то анекдот вспомнился.

Мне тоже почему-то читая этот топик вспоминаются только анекдоты. :)


 
Игорь Шевченко ©   (2015-08-23 10:09) [9]

Pavia ©   (23.08.15 00:13) [7]

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

По теме - редактор связей не такая программа, о которой надо так заботится, мелкая вспомогательная утилита, о которой больше половины программистов не имеет представления.


> А кого-то и вовсе это не волнует.


Вот на эту часть и надо ориентироваться.


 
DayGaykin ©   (2015-08-23 17:44) [10]

Если это не принесет прибыли тебе или работодателю - то однозначно не нужно. Эта та призма, через которую я пропускаю свои идеи.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2016.05.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.002 c
15-1439995071
DayGaykin
2015-08-19 17:37
2016.05.08
Посоветуйте утилиту для сжатия тома NTFS


15-1436333807
Ega23
2015-07-08 08:36
2016.05.08
Почему Москва - порт пяти морей?


15-1440059481
K-1000
2015-08-20 11:31
2016.05.08
Unable to locate file "Drawer.pas".


15-1440322751
megavoid
2015-08-23 12:39
2016.05.08
Нужна ли грамотность в работе программиста?


15-1440264646
Pavia
2015-08-22 20:30
2016.05.08
Линкер и редактор объектников





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский