OberonCore https://forum.oberoncore.ru/ |
|
Открытая консольная версия от Oberon Microsystems https://forum.oberoncore.ru/viewtopic.php?f=133&t=1159 |
Страница 1 из 3 |
Автор: | Илья Ермаков [ Суббота, 13 Сентябрь, 2008 19:13 ] |
Заголовок сообщения: | Открытая консольная версия от Oberon Microsystems |
Про эту версию как-то подзабыли. http://www.mathstat.helsinki.fi/openbugs/ (http://www.mathstat.helsinki.fi/openbugs/LinBUGS.html) - там сайт глупо сделан, на фреймах. (испр. 28.10.2011) Подробности ниже. (испр. 04.11.2012) Lin-Simple-Console снята с публикации. Замена: http://oberoncore.ru/projects/bb16lin-console |
Автор: | QWERTYProgrammer [ Воскресенье, 14 Сентябрь, 2008 12:47 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Цитата: Про эту версию как-то подзабыли. Что не так уж удивительно: почему про нее можно узнать, только случайно наткнувшись на ссылку на сайте OpenBugs? Почему не на oberon.ch? На OpenBugs сразу предлагается некий patch, в связи с чем возникает вопрос о том насколько стабильной является выложенная версия. В общем, соотв. раздел на oberoncore wiki был бы очень кстати... |
Автор: | Ali [ Четверг, 23 Октябрь, 2008 07:28 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Простите, может я чего не понимаю, может "сайт глупо сделан", но: Цитата: If you only have Linux you will need to install WINE to work with these tools. Цитата: Instructions for LinBUGS (which may or may not still work): ....
Errrm, run it through WINE! Getting BUGS to run under Linux has been an interesting experience, and something we still hope to accomplish. |
Автор: | Борис Рюмшин [ Пятница, 24 Октябрь, 2008 16:24 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
У меня возможно есть некоторый склероз, я на OpenBUGS смотрел давно, но он генерирует только консольные приложения. А для того, чтобы воспользоваться графическим интерфейсом требуется Wine (в частности, чтобы собрать это самое консольное приложение). |
Автор: | Димыч [ Среда, 10 Декабрь, 2008 21:22 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Намедни думал тут над портированием BB под Линукс. В свете наличия линуксовой версии ядра (Kernel, HostFiles) и DevLinker из LinBUGS представляется возможным запуск консольного варианта ВВ по Линукс. Однако, в силу отсутствия времени проверить это не удалось. Может зайти с другой стороны? Сначала на Windows отучить BB пользоваться WinAPI и перейти на GTK или Qt полностью, а потом уже переносить ядро на Линукс. По своему опыту знаю, что GTK можно пользоваться из Оберона/Модулы, есть модули для этого. Представляется, что для этого надо переписать HostDialogs (как минимум), может еще что. Другое дело, слабо представляю, как реализован редактор документов, как его переписывать. С оконной системой и циклом обработки сообщений вроде все более-менее понятно, а вот с редактором нет. |
Автор: | Илья Ермаков [ Среда, 10 Декабрь, 2008 22:39 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Никакого редактора переписывать не надо... Весь фреймворк кроссплатформенный. Перепишите реализацию окон, сообщений и контролов в подсистеме Host - и всё остальное заработает автоматически. |
Автор: | Борис Рюмшин [ Среда, 10 Декабрь, 2008 23:23 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Qt слабо подходит, поможет только GTK+. Сразу говорю - работа такая (по GTK) велась. Не знаю как сейчас успехи у основного разработчика этого дела (он здесь, если захочет признается ![]() И вот ещё что. Публикация этого дела придерживается пока Ominc, и нарушать договорённости мы не будем. Однако обсудить - всегда пожалуйста. Ещё один серьёзный вариант - полностью всё (что касается графики) переписать в некую собственную кроссплатформенную весчь, которую затем связать непосредственно с Win32 и X-сервером. |
Автор: | Пётр Кушнир [ Среда, 10 Декабрь, 2008 23:32 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Димыч писал(а): Намедни думал тут над портированием BB под Линукс. В свете наличия линуксовой версии ядра (Kernel, HostFiles) и DevLinker из LinBUGS представляется возможным запуск консольного варианта ВВ по Линукс. Однако, в силу отсутствия времени проверить это не удалось. Может зайти с другой стороны? Сначала на Windows отучить BB пользоваться WinAPI и перейти на GTK или Qt полностью, а потом уже переносить ядро на Линукс. По своему опыту знаю, что GTK можно пользоваться из Оберона/Модулы, есть модули для этого. Представляется, что для этого надо переписать HostDialogs (как минимум), может еще что. Мы с Иваном Кузьмицким имеем в мыслях ровно то же самое, перетащить оконную систему ББ на что-нибудь эдакое(wxWidgets например, ну или Qt с GTK), а потом на линукс(и ещё в кпк ![]() ![]() ЗЫ: а объясните, плиз, как из OpenBugs сделать что-то толковое? А то я лично не понял, что там к чему. |
Автор: | Борис Рюмшин [ Среда, 10 Декабрь, 2008 23:42 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Пётр. Если речь серьёзно зашла об этом, то имеет смысл чётко отделить в BlackBox "отображающую" часть. Вот это нужно сделать в первую очередь. Host написан хоть и правильно, но очень туманно. Там чётко нужно отделить мух от котлет. Тогда станет очевидно, что именно нужно сделать для портирования и как. Если делать как WinAOS (это уже тоже продумывалось), то нужно всё отрисовывать самостоятельно. Полностью. Это красиво и хорошо с многих сторон, но вызовет обильные выделения у любителей "стандартных промышленных" сред. Это перспективно, если тем более, задействовать Antigrain. В любом случае, главная мысль, как я уже сказал, такова: нужно отделить именно "визуальную", отображающую часть от самого ББ. Узкий и чёткий интерфейс. |
Автор: | Пётр Кушнир [ Четверг, 11 Декабрь, 2008 08:15 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Борис Рюмшин писал(а): Пётр. Если речь серьёзно зашла об этом, то имеет смысл чётко отделить в BlackBox "отображающую" часть. Серьёзно, конечно. Борис Рюмшин писал(а): Если делать как WinAOS (это уже тоже продумывалось), то нужно всё отрисовывать самостоятельно. Полностью. Это красиво и хорошо с многих сторон, но вызовет обильные выделения у любителей "стандартных промышленных" сред. Это перспективно, если тем более, задействовать Antigrain. В любом случае, главная мысль, как я уже сказал, такова: нужно отделить именно "визуальную", отображающую часть от самого ББ. Узкий и чёткий интерфейс. ну то есть, в том виде, в котором есть сейчас - оно не очень подходит для переноса и портирования? |
Автор: | Иван Кузьмицкий [ Четверг, 11 Декабрь, 2008 08:25 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Борис Рюмшин писал(а): И вот ещё что. Публикация этого дела придерживается пока Ominc, и нарушать договорённости мы не будем. Однако обсудить - всегда пожалуйста. Правильно ли я понимаю, что Ominc хотя и не торопится раскрывать линукс-ББ, но возражать против сторонних движений переноса ББ на линукс не будет?Ибо уже назрело. У нас тут только что поднят ещё один проект, в ярославском институте развития образования (чуть позже подробности отпишу на вики). Рабочие места все под виндами, но начался перевод компутеров на линукс. В связи со всем этим, хочется и линуксового ББ, и улучшенной "оконности" в ББ. На этом пути, конечно, возникает масса вопросов. Может, имеет смысл как-то сорганизоваться, дабы прикинуть масштабы проблем, имеющиеся ресурсы и заглянуть в перспективку? |
Автор: | Борис Рюмшин [ Четверг, 11 Декабрь, 2008 23:05 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Иван Кузьмицкий писал(а): Правильно ли я понимаю, что Ominc хотя и не торопится раскрывать линукс-ББ, но возражать против сторонних движений переноса ББ на линукс не будет? Конечно же нет. Как они могут возражать, если исходники открыты? ![]() ![]() Цитата: На этом пути, конечно, возникает масса вопросов. Может, имеет смысл как-то сорганизоваться, дабы прикинуть масштабы проблем, имеющиеся ресурсы и заглянуть в перспективку? Конечно же имеет. Давайте думать. Только наверно для этого отдельную ветку выделить надо, чтобы по теме было... |
Автор: | Евгений Темиргалеев [ Пятница, 28 Октябрь, 2011 20:30 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Товарищи, в первом сообщении выложена простенькая сборка для консольных приложений. См. (Lin/Docu)Console-Quick-Start Вложение: Помимо http://oberoncore.ru/blackbox/environment требует (для удобной работы):http://oberoncore.ru/bbcc/subs/i21sys/calls http://oberoncore.ru/bbcc/subs/omc/cmdline http://oberoncore.ru/bbcc/subs/ert0dev/ |
Автор: | Евгений Темиргалеев [ Четверг, 10 Ноябрь, 2011 15:04 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Спасибо Кубанычу, отметил некорректность: Init д. б. [ccall]. Хотя stdcall/ccall без параметров не различаются и всё работает, но ожидание по-умолчанию stdcall = ориентирование на platform-specific issues, которое в исходнике нужно обозначить явным импортом SYSTEM (и, тогда уж, поставить [ccall]). Второй способ (мне кажется более верным минимизировать IMPORT SYSTEM) --- учесть platfotm-specific в пускаче: Код: typedef void (*Procedure) (void) __attribute ((stdcall)); Вроде для gcc так (http://gcc.gnu.org/onlinedocs/gcc-4.4.6 ... Attributes).?Архив обновил. |
Автор: | Роман М. [ Четверг, 10 Ноябрь, 2011 15:41 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Нельзя ли предоставить изменения в виде патча или последовательности команд для изменения исходного кода? |
Автор: | Евгений Темиргалеев [ Четверг, 10 Ноябрь, 2011 16:05 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Роман М. писал(а): Нельзя ли предоставить изменения в виде патча или последовательности команд для изменения исходного кода? Изменения идут в хранилище. Патчи оформляются. Когда будет готово, всё появится.
|
Автор: | Евгений Темиргалеев [ Пятница, 23 Декабрь, 2011 15:36 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Обновление Цитата: 3.1 Специфика загрузки динамической бибилиотеки .so
При инициализации so-библиотеки используется другой стек (видимо, служебного потока ОС). В результате Kernel.baseStack, запомненный в Kernel.Init, оказывается не верен после возврата управления в сишный пускач и вызова "главной" процедуры Init. Некорректное значение Kernel.baseStack приводит к сбою работы сборщика мусора. Суть проблемы и вариант решения были зафиксированы 18.10.2009 Ермаковым И. Е.. Здесь используется более общее решение: - вместе с Kernel в динамическую библиотеку должен линковаться интерфейсный модуль Kernel_so_init; - ПО (в данном случае — пускач), использующее библиотеку, должно выставлять корректное значение дна стека вызовом SetKernelBaseStack. |
Автор: | Kubanych [ Суббота, 24 Декабрь, 2011 06:23 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Все заработало, спасибо. Надо чтобы больше людей использовало эту подсистему. Тогда будут находится и исправляться ошибки, о которых мы еще не знаем. |
Автор: | Kubanych [ Воскресенье, 22 Январь, 2012 12:34 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Log выводит в stdout после запуска LinSimpleLog.Open. А как читать данные из stdin через эту подсистему? |
Автор: | Евгений Темиргалеев [ Воскресенье, 22 Январь, 2012 18:06 ] |
Заголовок сообщения: | Re: Открытая консольная версия от Oberon Microsystems |
Не совсем понятно, как Вы хотите читать. Например, можно через LinLibc. ![]() Если Вы имеете ввиду реализацию модуля In, то её нет. Можете попробовать переделать реализацию In для консоли отсюда: http://oberoncore.ru/bbcc/subs/console/ Если не ошибаюсь, достаточно: * взять копию ConsoleIn -> LinIn * добавить в неё процедуру PROCEDURE StdRead (OUT c: CHAR), читающую символ при помощи LinLibc из stdin * заменить вызовы Std.read на StdRead Если получится, передайте как-нибудь результат, добавлю в пакет. |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |