Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

dll или exe   Найти похожие ветки 

 
griff   (2004-08-24 12:56) [0]

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


 
Rem   (2004-08-24 13:00) [1]

Зачем?


 
griff   (2004-08-24 13:03) [2]

Не знаю, что выбрать: делать exe или dll. Что устойчивей будет работать на разных ОС и при разных объемах памяти.


 
Ega23 ©   (2004-08-24 13:07) [3]

А чем dll от exe отличается?


 
Рамиль ©   (2004-08-24 13:39) [4]

Если ты собираешься в дальнейшем ее изменить (например, оптимизировать), не затрагивая осталной программы, то есть смысл в dll.


 
KSergey ©   (2004-08-24 13:46) [5]

Скомпилить - можно. Но зачем??
Как в будущем ее собираемся использовать? Или вообще никак? ;)


 
griff   (2004-08-24 13:59) [6]

> Как в будущем ее собираемся использовать?

Есть программный продукт, над созданием которого трудится не один человек. Использовать будут все разработчики.


 
Ega23 ©   (2004-08-24 14:00) [7]

Использовать будут все разработчики.

Как ты представляешь себе использовать её в виде exe-шника????


 
KSergey ©   (2004-08-24 14:26) [8]

Присоединяюсь к

> [7] Ega23 ©   (24.08.04 14:00)


PS
Через параметры командной строки ;))


 
КаПиБаРа ©   (2004-08-24 14:45) [9]


> Есть навороченная функция, которую можно скомпилировать
> в виде отдельного exe или dll

Самый лучший вариант скомпилировать как com объект.


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

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


 
Mim1 ©   (2004-08-24 14:56) [11]

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


 
Ega23 ©   (2004-08-24 14:57) [12]

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


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


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

mylib.exe /function1 /parameter1 /parameter2


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

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

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


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


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

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


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


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

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


 
Mim1 ©   (2004-08-24 15:07) [17]

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

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


 
KSergey ©   (2004-08-24 15:09) [18]

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

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


 
Jeer ©   (2004-08-24 15:14) [19]

KSergey ©   (24.08.04 15:09) [18]

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

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


 
KSergey ©   (2004-08-24 15:17) [20]

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

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


 
Jeer ©   (2004-08-24 15:25) [21]

KSergey ©   (24.08.04 15:17) [20]

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

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


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

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

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


 
Ega23 ©   (2004-08-24 15:29) [23]

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

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


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

griff   (24.08.04 15:25) [22]

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

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


 
KSergey ©   (2004-08-24 16:29) [25]

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

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

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


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

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


 
Ega23 ©   (2004-08-24 17:06) [27]

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

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


 
GuAV ©   (2004-08-24 18:23) [28]


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

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


 
Ega23 ©   (2004-08-24 18:32) [29]

GuAV ©   (24.08.04 18:23) [28]

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



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

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.039 c
3-1092387386
DmitryMN
2004-08-13 12:56
2004.09.12
Аналог IsNull а Firebird?


6-1089188010
Maks_G
2004-07-07 12:13
2004.09.12
Проблемы с IdHTTPServer и POST


14-1093067609
kaZaNoVa
2004-08-21 09:53
2004.09.12
TThread и через CreateThread


4-1091031843
Slaga
2004-07-28 20:24
2004.09.12
Работа с WinAPI


6-1089017150
Анонимщик
2004-07-05 12:45
2004.09.12
TServerSocket OnClientDisconnect