Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

dll или exe


Страницы:   1 2

griff ©   (2004-08-24 12:56:00) 

Мастера, подскажите плз.
Есть навороченная функция, которую можно скомпилировать в виде отдельного exe или dll. Какие преимущества и недостатки у обоих решений ?


Ega23   (2004-08-24 18:32:00) [1]

GuAV ©   (24.08.04 18:23) [28]

Погоди, мы пока только передачу параметров обсуждаем, ло получения результата ещё пока не добрались!  :о)


GuAV   (2004-08-24 18:23:00) [2]


> Самая фишка, когда в качестве параметра бинарный массив
> нужно подать  :о)

Нифига. Самая фишка в том, как получить результат :-)
Я предлагаю: Byte, который Exit Code фактически Pointer на файл с результатом ;-)


Ega23   (2004-08-24 17:06:00) [3]

Если функцмя статическая и небудет менятся у одной и тойже версии программы, то лучше ее зашить в саму программу!

Это только если эта функция не используется другими программами...


Erik1   (2004-08-24 17:05:00) [4]

To griff
Если функцмя статическая и небудет менятся у одной и тойже версии программы, то лучше ее зашить в саму программу! Вывод кода в Dll ничего недает в случии утечек памяти и прочих ошибок. В случии создании отдельного процесса, придется предусмотреть интерфейс с другим процесом и командная строка неподойдет(см. NamePipe, PostMessage, ViewOfMap).


KSergey   (2004-08-24 16:29:00) [5]

> [22] griff   (24.08.04 15:25)
> > [18] KSergey ©
> > Надо ответить для начала на уточняющий вопрос ...
>
> Да, это "Некий чёрный ящик, в который на вход ты передал
> некие параметры, а на выходе получил некий результат"
> Особенность моей функции в том что она достаточно большая
> и поедает много памяти.

А ответ на вопрос ГДЕ?

PS
Что за день сегодня, все ответы клещами тянешь...


Jeer   (2004-08-24 15:30:00) [6]

griff   (24.08.04 15:25) [22]

"Неким чёрным ящиком" могут быть:
- приложение;
- функция, размещенная в DLL и вызываемая из Вашего приложения.

Различия в исполнении существуют, есс-но.


Ega23   (2004-08-24 15:29:00) [7]

Особенность моей функции в том что она достаточно большая и поедает много памяти.

Дык может лучше сделать её маленькой и исправить ошибку утечки памяти, чем её в exe пихать?
Но если охота извратиться, то можно кроме exe попробовать её запихнуть в cmd или bat, или сформировать в реальном времени SQL-скрипт, выполнить, а данные перенапровить в Word.
А смаый шик - запихнуть её в bmp, но это уже к Dmitry O. все вопросы.


griff   (2004-08-24 15:25:00) [8]

> [18] KSergey ©
> Надо ответить для начала на уточняющий вопрос ...

Да, это "Некий чёрный ящик, в который на вход ты передал некие параметры, а на выходе получил некий результат"
Особенность моей функции в том что она достаточно большая и поедает много памяти.


Jeer   (2004-08-24 15:25:00) [9]

KSergey ©   (24.08.04 15:17) [20]

С терминами - не очень.

Можно рассмотреть в данном контексте:
-функция приложения;
-функция, как законченный блок в языке программирования, с заданными входом и выходом.


KSergey   (2004-08-24 15:17:00) [10]

> [19] Jeer ©   (24.08.04 15:14)
> Прежде всего - разобраться с терминами.
> Называть приложение функцией, это - слишком.:)

По-моему, с терминами покавсе нормально...
Но подождем таки начальника транспортного цеха...


Jeer   (2004-08-24 15:14:00) [11]

KSergey ©   (24.08.04 15:09) [18]

Прежде всего - разобраться с терминами.

Называть приложение функцией, это - слишком.:)


KSergey   (2004-08-24 15:09:00) [12]

> [10] griff   (24.08.04 14:50)
> Уточняю вопрос. Что устойчивее будет работать: большая функция,
> вызываемая из dll или та же функция, скомпилированная в
> виде exe, вызываемая через CreateProcess.

Надо ответить для начала на уточняющий вопрос, сформулированный, например,  в [12] Ega23 ©   (24.08.04 14:57)


Mim1   (2004-08-24 15:07:00) [13]

Да граф, вы знаете тольк в извращениях. (с) не помню.

Интересно ваше мнение по поводу результатов, если вы о функциях упомянули. :)


КаПиБаРа   (2004-08-24 15:06:00) [14]


> Самая фишка, когда в качестве параметра бинарный массив
> нужно подать  :о)

mylib.exe /function1 /c:\massiv.bin


КаПиБаРа   (2004-08-24 15:06:00) [15]


> Самая фишка, когда в качестве параметра бинарный массив
> нужно подать  :о)

mylib.exe /function1 /c:\massiv.bin


Ega23   (2004-08-24 14:59:00) [16]

КаПиБаРа ©   (24.08.04 14:58) [13]

Самая фишка, когда в качестве параметра бинарный массив нужно подать  :о)


КаПиБаРа   (2004-08-24 14:58:00) [17]


> Mim1 ©   (24.08.04 14:56) [11]

mylib.exe /function1 /parameter1 /parameter2


Ega23   (2004-08-24 14:57:00) [18]

Что есть функция? Некий чёрный ящик, в который на вход ты передал некие параметры, а на выходе получил некий результат.
Теперь представь, что это у тебя exe. Как ты будешь туда параметры передавать? Как результат получать?
Да, кстати, под Linux'ом неважно, что это будет - exe или dll, один хрен работать не будет.  :о)


Mim1   (2004-08-24 14:56:00) [19]

Гы :)
а как вы будете вызывать функцию из Exe?


griff   (2004-08-24 14:50:00) [20]

Уточняю вопрос. Что устойчивее будет работать: большая функция, вызываемая из dll или та же функция, скомпилированная в виде exe, вызываемая через CreateProcess. Устойчивость рассматривается при разных ОС, объемах памяти. Хотелось бы знать недостатки/достоинства обоих решений.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо