Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.04 c
3-1092654497
yaric
2004-08-16 15:08
2004.09.12
Программная деактивация тригерра


3-1092665145
hawkins
2004-08-16 18:05
2004.09.12
Проблема с Computed field (InterBase)


14-1093171832
Никола
2004-08-22 14:50
2004.09.12
BBSы Москвы


4-1091092419
Morphin
2004-07-29 13:13
2004.09.12
Ограничение нагрузки на CPU


1-1093709405
][ncognito
2004-08-28 20:10
2004.09.12
Сканирование директорий и файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский