Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2016.05.08;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.006 c
15-1440158492
Masterucs
2015-08-21 15:01
2016.05.08
Project -> Options -> Compiling -> Symbol reference info


11-1263726606
GradeMax
2010-01-17 14:10
2016.05.08
Как задать высоту строк в ListView?


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


15-1440451804
Юрий
2015-08-25 00:30
2016.05.08
С днем рождения ! 25 августа 2015 вторник


15-1440094960
Rouse_
2015-08-20 21:22
2016.05.08
Пятничная головоломка от Розыча