OberonCore

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

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




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Среда, 27 Март, 2024 13:09 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1566
Ещё раз посмотрел видео - здесь скомпилировано всего два файла. Однако они используют другие модули системы, поэтому и нужно подключать Release.Tool (я так думаю, во всяком случае).

Кроме того, здесь не показана полная сборка всего, что потом будет запускаться. Используется приложение oberon, которое в данном видео не собирается. Его сборка гораздо сложнее, я про это выше писал - она собирается во время пересборки A2, у меня в ЯОС есть для этого скрипты, и я дал на них ссылку. Как это делают в A2 - я сейчас не знаю, хотя когда-то Сергей или Ярослав мне это объясняли и на этом знании я и сделал свои скрипты. Описано ли это где-нибудь для A2 - тоже не знаю.

Соответственно, основное "мясо" в виде рантайм-среды находится в oberon. Другая часть мяса - это oberon.ini.

В данном же видео собирается только модуль (в переводе на обычный язык его можно считать как .so или .dll, а может быть, как объектный файл, который oberon умеет линковать). Далее запускается oberon, который с помощью механизма загрузки модулей загрузки модулей загружает этот модуль. Почему загружает? Видимо, это указано в oberon.ini. Oberon.ini - это набор команд на языке команд A2, но это Вы уже и без меня знаете.


Последний раз редактировалось budden Среда, 27 Март, 2024 13:19, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2024 13:12 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1566
Соответственно, к вопросу о "минимальности" рантайма. Поскольку на видео состав oberon не показан, вот команда линковки
для моей сборки Linux64. В A2 наверняка те же самые модули, и все они реально загружаются (они статически слинкованы в приложение oberon).

Код:
 Linker.Link -p=Linux64 --path=bin/ Builtins Trace Glue Unix Machine Кучи Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader System StdIOShell Shell


Можно ли отсюда что-то выкинуть? Думаю, максимум можно выкинуть последние два. Соответственно, ваше приложение - это oberon + ваша пара Hello.GofW, Hello.sym, плюс oberon.ini.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2024 13:15 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1566
Наверное, можно добавить Ваш модуль прямо в команду линковки oberon, тогда можно будет выкинуть ещё и механизм динамической загрузки модулей (скорее всего, это минус два модуля, а может быть и больше), а вместо выполнения oberon.ini при старте вписать код инициализации Вашего кода прямо в код загрузки oberon (см. выше, как его изучать). В этом случае можно будет выкинуть и интерпретатор команд и получится просто одно приложение, которому не нужны всякие текстовые конфигурации. С другой стороны, сегодня компьютеры могущественны и можно усомниться в целесообразности такой минимизации. Люди вон на Питоне пишут - там есть интерпретатор Питона, библиотеки в виде pip и ещё пользовательский скрипт. Тоже много файлов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2024 02:50 

Зарегистрирован: Вторник, 12 Март, 2024 20:31
Сообщения: 14
Спасибо! Пока не разобрался, но удалось запустить мой расчётный и прикладной модули, написанные для разных компиляторов Оберона-2, правда, пока только в режиме интерпретатора (через вызов oberon и команду). Пришлось, правда, переопределяемые процедуры связанные с типом POINTER TO RECORD связать с типом RECORD и передавать запись через VAR. На расширяемые указатели fox почему-то ругался.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2024 10:53 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1566
Да, там есть проблемы с обероновским стилем определения "методов", у меня тоже что-то когда-то не компилировалось.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

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


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

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


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

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