![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
dll или exe
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. Устойчивость рассматривается при разных ОС, объемах памяти. Хотелось бы знать недостатки/достоинства обоих решений.