|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
Есть ЕХЕ-файл внешней программы. Как можно использовать (обратиться) к функции в этом файле, если известно её название, входные и выходные параметры? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 00:59 |
|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
AISЕсть ЕХЕ-файл внешней программы. Как можно использовать (обратиться) к функции в этом файле, если известно её название, входные и выходные параметры? Если функция экспортирована(через DllExport или через .DEF), то точно так же как и с DLL - через external functions. Если не экспортирована - то никак. Список экспортированных функций можно просмотреть так: Код: plaintext
dumpbin - утилита из Visual Studio. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 01:45 |
|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky , чего-то не выходит. Видать "смотрю в книгу вижу ...." :) А какой синтаксис при декларировании функции и обращении к ней, когда она в ЕХЕ-файле? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2010, 01:48 |
|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
AIS Anatoly Moskovsky , чего-то не выходит. Видать "смотрю в книгу вижу ...." :) А какой синтаксис при декларировании функции и обращении к ней, когда она в ЕХЕ-файле? Такой же как и c DLL: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2010, 01:52 |
|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky , Спасибо. У меня в том же духе. Видать в другом месте ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2010, 02:41 |
|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
AIS Anatoly Moskovsky , Спасибо. У меня в том же духе. Видать в другом месте ошибка. Скорее всего (почти 100%) ваш EXE не экспортирует никаких ф-й. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2010, 14:27 |
|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
Да, кстати, я с этим не сталкивался, но теоретически есть следующая проблема. Экспортированные функции EXE вряд ли будут работать, даже если удастся их вызвать. Дело в том что для работы любого более менее нетривиального кода, написанного на любом современном языке высокого уровня, требуется предварительная инициализация рантайма этого языка. В DLL это делается при первом обращении к ней из каждого процесса вызывающего ее функции (OS вызывает LibMain). EXE же при загрузке его путем вызова его экспортированных функций не инициализируется таким образом (если специально не делалась поддержка при сборке этого EXE). Возможно, что если рантайм языка находится в отдельной DLL, то его инициализация происходит и в этом случае, но всегда есть шанс что даже динамически связанный рантайм требует дополнительной инициализации в вызывающем модуле. В любом случае, у меня есть один вопрос: "Зачем вам это?" (С) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2010, 15:00 |
|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky ...у меня есть один вопрос: "Зачем вам это?" (С) Есть ЕХЕ-файл (Portable), есть описание этого ПО. Сейчас идет запуск командной строкой, а выходные данные беруться из результирующего файла. Зная функцию, хочется напрямую её использовать и получать данные миную создание файла. А за расширенный ответ, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2010, 17:07 |
|
Вызов внешней функции
|
|||
---|---|---|---|
#18+
Есть решение на Sybase использовать WinAPI для redirect console output . Здесь идет перехват выходных данных у консольного приложения запущеного при помощи командной строки. А как сделать аналогичный перехват данных для ЕХЕ-файла (НЕ консольного приложения), которое тоже может запускаться из командной строки с параметрами и выводить данные в файл? P.S. Вопрос получить данные без создания выходного файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2010, 13:07 |
|
|
start [/forum/topic.php?fid=15&msg=36867838&tid=1335864]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
206ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 302ms |
0 / 0 |