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), а потом на линукс(и ещё в кпк ). В идеале, лучше бы на всё сразу, или ни на что, например, сделать как в WinAOS, полностью рисованый интерфейс, можно даже аппаратно ускоренный и прогрессивный(это из области предельных мечт ) ЗЫ: а объясните, плиз, как из 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/ |