1

У меня 2 вопроса. Где лучше хранить готовые модули кода? В exe или в dll/so? Это проприетарный код который не будут использовать другие приложения. С одной стороны лучше в исходниках т.к. подгрузка всех функций идет в CT, но с другой стороны это увеличит размер приложения. Это сильно повлияет на скорость его запуска?

Просто какое бы современное приложение не открыл - везде куча dll/so. Не могут же все ошибаться. Значит лучше в dll-ках? Но опять же вопрос стоит боком т.к. Dll может хранить только RT-совместимый функционал и CT функционал при билде на выходе не участвует. В результате в некоторых случаях одна и та же функция будет иметь меньший размер в exe чем в DLL.

Вопрос 2й - почему все их используют если заранее знают что их dll ками никто кроме приложения разработчика пользоваться не будет. Если просто хранить часто используемые данные то как по мне лучше в коде сохранять серилизованные данные, а при необходимости их загружать и десерилезовать. Это поидее и более безопасно, более быстро и по необходимости можно расширить функционал "просто данных"

задан 7 мая 2021 в 19:49
7
  • Source code - не может конкурировать c dll однозначно. Commented 7 мая 2021 в 20:25
  • 2. dll могут вполне быть библиотеками сторонних фирм, например opengl, directx для графики, есть для проигрывания видеороликов определённого формата в играх и т д. Библиотеки позволяют делать "оверлей", т.е. если программа большая - загружать и выгружать ненужные куски кода. Commented 7 мая 2021 в 20:29
  • 3. Вашей библиотекой врядли кто-то сможет воспользоваться без документации, разве что у вас будут настолько простые аргументы, что это будет очевидно. Но если на вход идёт структура или это функция класса, то не зная какая у вас структура - выковыривать её врядли кто-то будет. Вообще если это не игра, или не защищенная программа вроде shareware хорошего качества, или программой будут пользоваться там до 100 до 1000 человек - то врядли кто будет ваши exe-dll ковырять вообще. Commented 7 мая 2021 в 20:31
  • @nick_n_a , я прекрасно понимаю суть динамических библиотек как оверлея, но как я уже писал ранее что в мой dll загоняется код который будет использоваться только одним приложением. С этой стороны как лучше хранить код - в source или в DLL. По поводу 2го вопроса я имел ввиду не библиотеки общего назначения. Если взять какой нибудь более менее серьезную программу, к примеру, для работы с графикой, то в релизных файлах можно увидеть несколько dll файлов которые явно делались под конкретное приложение Commented 7 мая 2021 в 20:44
  • И если смотреть с этой точки зрения то я не вижу разницы между dll и исходным кодом со стороны импорта функций. За исключением из так скажем типа. Даже если пилить dll под конкретное приложение. Dll не будет сам по себе жить. Я создам лоадер, опишу там нужные функции и загружу символы с DLL. Если мы имеем статическую привязку (либо либ, либо соурс) то по факту мы имеем тоже самое. Только функции уже описаны. Только все. Я же не буду сначала делать либ под приложение и брать оттуда только часть функций. Те которые не нужны можно ли перевести на CT, либо в принципе не импортировать на стороне Commented 7 мая 2021 в 20:56

0

Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

Ваш ответ

Черновик сохранён
Черновик удалён

Зарегистрируйтесь или войдите

Регистрация через Google
Регистрация через почту

Отправить без регистрации

Необходима, но никому не показывается

Отправить без регистрации

Необходима, но никому не показывается

Нажимая «Отправить ответ», вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.

Начните задавать вопросы и получать на них ответы

Найдите ответ на свой вопрос, задав его.

Задать вопрос

Изучите связанные вопросы

Посмотрите похожие вопросы с этими метками.