Инструменты пользователя

Инструменты сайта


bbdevpackernohost

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
bbdevpackernohost [2013/12/16 21:35]
kpmy добавил картинку
bbdevpackernohost [2013/12/17 22:16]
admin [Проблема.]
Строка 4: Строка 4:
  
 ===== Проблема. ===== ===== Проблема. =====
-В эталоне Блэкбокса есть модуль DevPacker, он реализует функции упаковки в исполняемый файл произвольных ресурсов. Ресурсы размещаются внутри исполняемого файла по определенным правилам. Эти правила известны в модуле HostPackedFiles, который реализует фабрику Files.dir для работы с упакованными ранее файлами.+В эталоне BlackBox есть модуль DevPacker, используемый для упаковки в исполняемый файл произвольных ресурсов. Ресурсы размещаются внутри исполняемого файла по определенным правилам. Эти правила известны в модуле HostPackedFiles, который реализует фабрику Files.dir для работы с упакованными ранее файлами.
  
-В процессе пересмотра внутренней структуры ББ в модуле DevPacker обнаружилась негерметичность.  +В процессе пересмотра внутренней структуры BlackBox, в модуле DevPacker обнаружилась негерметичность.  
-Она заключалась в прямой зависимости от HostFiles и HostPackedFiles. HostPackedFiles в свою очередь опирался на структуру данных, формируемую в DevPacker (имплицитная зависимоcть). +Она заключалась в прямой зависимости от HostFiles и HostPackedFiles. Кроме этого, HostPackedFiles опирался на структуру данных, формируемую в DevPacker (имплицитная зависимоcть). Негерметичность мешала использовать модуль в новой сборке ББ. 
-Негерметичность мешала использовать модуль в новой сборке ББ. +
  
 Для использования DevPacker в новой сборке ББ необходимо провести герметизацию модуля.  Для использования DevPacker в новой сборке ББ необходимо провести герметизацию модуля. 
Строка 39: Строка 38:
  
 ===== Адаптация к новым платформам ===== ===== Адаптация к новым платформам =====
-{{ :packed-replace.png?direct&200 |}}+{{ :packed-replace.png?direct&300 |}}
 Для реализации упаковщика под новую платформу, например, Linux, необходимо: описать константы платформы (см. PackedLinConst), реализовать модули записывателя (см. PackedSOWriter), и реализовать модуль PackedLinFiles, который возможно будет взаимодействовать с модулем-реализацией файловой системы в Linux-сборке ББ. Также необходим селектор платформы (см. PackedLinSelector) который позволит инициализировать подсистему для работы под Linux. Для реализации упаковщика под новую платформу, например, Linux, необходимо: описать константы платформы (см. PackedLinConst), реализовать модули записывателя (см. PackedSOWriter), и реализовать модуль PackedLinFiles, который возможно будет взаимодействовать с модулем-реализацией файловой системы в Linux-сборке ББ. Также необходим селектор платформы (см. PackedLinSelector) который позволит инициализировать подсистему для работы под Linux.
bbdevpackernohost.txt · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)