Size: a a a

Compiler Development

2021 May 26

AM

Andrew Mikhaylov in Compiler Development
Да, но ТС, насколько я понимаю, интересует случай, когда в исполняемом файле нет ни одного неразрешённого символа. Я плохо понимаю, как такой исполняемый файл должен выполнять хоть какое-то взаимодействие с внешним миром. Конечно, если речь о работе на bare metal -- это другой вопрос, но это, наверное, стоило бы указать явно, а не обсуждать динамический загрузчик.
источник

JF

Jorik Fat in Compiler Development
я просто пытаюсь разобраться в теме загрузчика/связывающего загрузчика/компанощика.
Материала я прочитал много, теперь раскладываю его по местам
источник

AM

Andrew Mikhaylov in Compiler Development
Ну хотя для вызова прерывания же не нужны библиотеки...
источник

JF

Jorik Fat in Compiler Development
например калькулятор
источник

AM

Andrew Mikhaylov in Compiler Development
Что калькулятор? Для того, чтобы либо заиметь ввод-вывод в терминале, либо тем более изобразить окно, нужно линковаться с API операционной системы. Ваш printf за несколькими слоями абстракций всё равно к ОС обращается. Следовательно, в приложении останутся неразрешённые символы.
источник

AM

Andrew Mikhaylov in Compiler Development
Потому я и говорю, что обсуждать исполняемые файлы без последних -- это что-то о сферических конях в вакууме.
источник

JF

Jorik Fat in Compiler Development
справедливо
источник

JF

Jorik Fat in Compiler Development
вот тут Вы правы, я больше о теории сейчас размышляю
источник

П

Пух in Compiler Development
"Можно ли сделать плагины без динамической линковки"
источник

П

Пух in Compiler Development
А и ьда, можно просто винапями дллку в память грузить и функции из нее тащить
источник

П

Пух in Compiler Development
Это вроде не линковка
источник

AM

Andrew Mikhaylov in Compiler Development
Ну да, это как один из вариантов я выше предлагал. Ещё правильно предлагали встраивание в приложение интерпретатора или виртуальной машины.
источник

AM

Andrew Mikhaylov in Compiler Development
Я переживаю, что если изначальный вопрос ещё хоть как-то был онтопик, то сейчас вообще мы давно в оффтоп скатились.
источник

JF

Jorik Fat in Compiler Development
выглядит как костыли
источник

П

Пух in Compiler Development
Ну вообще вроде так и делают нативные плагины
источник

JF

Jorik Fat in Compiler Development
ну нативные из системы же тянутся. А когда это не предусмотрено?
источник

П

Пух in Compiler Development
Папочку просканил, дллки в память сунул, а дальше поехали. Динамическая линковка не умеет в ./*.dll, оно там конкретные символы из конкретных длл грузит
источник

П

Пух in Compiler Development
Не, всм когда у тебя есть папка plugins, в которой лежит пачка дллок с нужными тебе функциями экспортированными. И да, оффтоп, +1
источник

JF

Jorik Fat in Compiler Development
:D и меня из оффтопа сюда направили
источник

AM

Andrew Mikhaylov in Compiler Development
Оригинальный вопрос был о языках, он был относительно уместен (@LanguageDev, правда, больше подходит), но он быстро себя исчерпал, вероятно.
источник