Вниз
Скачать: CL | DM;

Возможен ли экспорт процедур из EXE   Найти похожие ветки 

← →
Still Swamp   (2005-09-24 13:38) [0]

Возможен ли экспорт процедур из EXE? Если да то как?


← →
Kolan ©   (2005-09-24 13:48) [1]

Да также как и в Dll. Пишешь
export
{Тут список экспортируемых процедур.}


← →
Still Swamp   (2005-09-24 13:53) [2]

В каком из модулей?
У меня говорит компилятор - недопустимое выражение.
Может лиэкспорт находится в Programm?


← →
XProger ©   (2005-09-24 14:06) [3]

exports


← →
Still Swamp   (2005-09-24 19:03) [4]

Блин... ну это конечно... бывает наверно у всех. :)


← →
Lamer@fools.ua ©   (2005-09-25 00:12) [5]

>>Still Swamp   (24.09.05 13:38)

Формально возможен, но на практике применение экспорта функций из EXE сильно ограничено вследствие того, что при загрузке EXE"шника функцией LoadLibrary() не выполняется код инициализации.


← →
Игорь Шевченко ©   (2005-09-26 10:57) [6]

Lamer@fools.ua ©   (25.09.05 00:12) [5]


> на практике применение экспорта функций из EXE сильно ограничено
> вследствие того, что при загрузке EXE"шника функцией LoadLibrary()
> не выполняется код инициализации


И не только это. Не выполняется настройка адресов (загрузчик не обрабатывает секцию .reloc), поэтому любой позиционно-зависимый код не будет работать.


← →
Leonid Troyanovsky ©   (2005-09-26 11:14) [7]


> Lamer@fools.ua ©   (25.09.05 00:12) [5]

> Формально возможен, но на практике применение экспорта функций
> из EXE сильно ограничено вследствие того, что при загрузке
> EXE"шника функцией LoadLibrary() не выполняется код инициализации.


А зачем грузить екзешник LoadLibrary?
Экспорт из экзе на практике (экзотической) ограничен случаями,
когда некая библиотека запрашивает у своего хоста оные,
видимо, весьма специфические, функции.

--
Regards, LVT.


← →
Lamer@fools.ua ©   (2005-09-26 11:45) [8]

>>Leonid Troyanovsky ©   (26.09.05 11:14) [7]

>А зачем грузить екзешник LoadLibrary?

Ну иначе не имеет смысла их вообще экспортировать. Верно?
А уж зачем - это к автору топика  :-)

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


Могу даже привести пример такого действительно экзотического случая. Это аналог ShareMem без использования дополнительной (например, борландовской) DLL.


← →
Leonid Troyanovsky ©   (2005-09-26 13:23) [9]


> Lamer@fools.ua ©   (26.09.05 11:45) [8]

> >А зачем грузить екзешник LoadLibrary?

> Ну иначе не имеет смысла их вообще экспортировать. Верно?


Смысл экспортирования из экзе (если он, вообще, существует),
именно в неиспользовании LoadLibrary.
Из dll GetProcAddress берется для GetModuleHandle(nil).

--
Regards, LVT.


← →
GrayFace ©   (2005-09-27 09:56) [10]

> Игорь Шевченко ©   (26.09.05 10:57) [6]
> И не только это. Не выполняется настройка адресов (загрузчик
> не обрабатывает секцию .reloc), поэтому любой позиционно-
> зависимый код не будет работать.

Спасибо за инфу. Но тогда я вообще не представляю, зачем Delphi засовывает оную .reloc в exe?


← →
Суслик ©   (2005-09-27 17:29) [11]

Я как-то задавал аналогичный вопрос.
Результат - нельзя. Что-то там не локейтится.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
1-1130915780
Zhekson
2005-11-02 10:16
2005.11.27
Как обработать непосредственно нажатие на крестик(закрытие формы)


14-1131371645
LordOfRock
2005-11-07 16:54
2005.11.27
Линейная алгебра


3-1129387970
Павел
2005-10-15 18:52
2005.11.27
Ошибка при использовании UDF


14-1130943942
sniknik
2005-11-02 18:05
2005.11.27
Эмуляция IP адреса...


2-1131348915
axx
2005-11-07 10:35
2005.11.27
TThread




   Наверх