OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 10 Декабрь, 2024 02:28

Часовой пояс: UTC + 3 часа




Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
СообщениеДобавлено: Четверг, 15 Ноябрь, 2012 12:32 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 485
Откуда: KZ
Евгений Темиргалеев писал(а):
Решил начать отдельную тему, так сказать с чистого листа, хотя задача суть та же, что и обозначена в viewtopic.php?f=102&t=3540.

Привожу оговоренный вчера (http://www.inr.ac.ru/~info21/nov.htm) план действий: формирование полноценной сборки консольного каркаса ББ под линух, т.е. обеспечение функционирования в консоли:
System/Docu/Sys-map
Код:
Map to the BlackBox Core

BlackBox Component Framework

   Containers      Controls
      Properties
      Controllers   Printing
      Views
   Converters   Models   Ports
   Stores      Fonts

BlackBox Component Library
   Integers
   Files   Dialog
   Math   Strings   Dates
   Services      Meta

Задача поделена на три подзадачи и пакет будет публиковаться частями, по мере решения каждой:
1) "Пускач": суть остановились на способе (2) (статическая линковка Сишного пускача с дин. библиотекой), следуя критерию минимальности исходника сишного пускача (viewtopic.php?f=102&t=4089). Доделать/дооформить правки Kernel, HostFiles и инструкцию сборки. В качестве добавки сюда пойдёт (для примеров) LinSimpleConsole (и если что ещё есть в пакете lin-simple-console)
2) Проанализировать и составить полный список требующих реализации хуков BBCF и BBCL. Реализовать недостающие и доработать имеющиеся реализации хуков, в том числе набор затычек, которые закрывают обращение компонентов BBCF и BBCL к "рисованию".
3) Доработать (дооформить, документировать) имеющиеся реализации чисто-консольных компонентов для линуха (реализацию CommTCP и подобное).

---
Оформление также обязательно подразумевает работу по выявлению (по возможности) и перечислению работы всех контрибуторов.


С загрузчиком определились, осталось только разобраться с загрузчиком на основе Си (LinLinker). Их на самом деле два -- оригинальный LinLinker и DevBootLinker Trurl-а, декабря 2006-го года. Надо разобраться, какой лучше, и включить в сборку. Только в DevBootLinker, а не LinLinker.

Для загрузчика, основанного на ELF: Kernel_so_init.SetKernelBaseStack использовать нет необходимости в случае, если из libBB.so не вызывать экспортируемых процедур (т. е. для libBB.so := Kernel$+ Files HostFiles StdLoader не требуется). Если вызывать экспортируемую процедуру, то внутри неё можно вызывать Kernel.Start вместо использования Kernel_so_init.SetKernelBaseStack, т. к. в Kernel.Start устанавливается новое значение baseStack (SYSTEM.GETREG(SP, baseStack)).

Модули подсистемы Comm (CommTCP, CommV24) реализованы.

Модули BBCL работают.
Из BBCF полноценно работают Converters, Models, Ports, Stores.
Подсистема Text работает в "слепом" режиме (т. е. работает, но на экране ничего не отображается).
DevCompiler.CompileThis, DevLinker, DevElfLinker -- работают полноценно.

Локализация (в т. ч. русский язык) работает.

Работоспособность проверена на ОС:
GNU/Linux: Fedora Core 17, Ubuntu 12.04 LTS
OpenBSD 5.2
FreeBSD 9.0
Поддержку других операционных систем (NetBSD, DragonflyBSD, Mac OS X, Minix3?, Solaris?) сделать не сложно (особенно если они поддерживают формат ELF).

HostPackedFiles -- реализован, DevPacker работает.

Из нужного ещё остаётся Printing -- не реализовано.

Ещё до сих пор не доделана реализация обработки исключений по переполнению стека в Kernel. Может быть в Linux это легко исправить, в OpenBSD -- точно нет. Я написал им письмо, они ответили, что это ошибка в операционной системе, пока не исправили.

Я больше не буду заниматься консольной версией, т. к. из нужного всё работает, кроме печати, и переключаюсь на GUI-верию.


Последний раз редактировалось Alexander Shiryaev Воскресенье, 18 Ноябрь, 2012 23:43, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 15 Ноябрь, 2012 23:20 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Хорошие новости. Первый пункт плана по сути выполнен. Следующие буду по мере возможности и освоения Ваших материалов дорабатывать.

Успехов с гуём.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 16 Ноябрь, 2012 19:41 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 485
Откуда: KZ
Разобрался с HostPackedFiles, заработало. Только надо указывать, откуда загружать запакованные файлы, т. к. HostFiles.appName убрали. Сделал через переменную окружения BB_PACKED_NAME.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Ноябрь, 2012 23:44 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 485
Откуда: KZ
Добавил поддержку FreeBSD.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 24 Февраль, 2021 18:43 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3806
Alexander Shiryaev писал(а):
Разобрался с HostPackedFiles, заработало. Только надо указывать, откуда загружать запакованные файлы, т. к. HostFiles.appName убрали. Сделал через переменную окружения BB_PACKED_NAME.

А почему HostFiles.appName убрали?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB