Page 1 of 2

glass environment - альтернативная оконная система в библиотеке

Posted: Fri Sep 25, 2020 10:16 am
by bad_Dr3dd0x
Всем привет.
Я создал отдельный бранч kolibri-e, предназначенный для испытания новых решений.
У меня тут есть идея: создать оконную систему в библиотеке, которая автоматически подгружается при запуске ядра. Но у меня есть несколько вопросов:
1. Как писать библиотеки?
2. На чём их писать?
3. Как сделать автоматическое монтирование библиотеки при запуске ОС?
Заранее благодарю.

П. С. Пока накидал синтаксис первой функции - как она пишется в фасме

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Fri Sep 25, 2020 11:08 am
by maxcodehack
3. Создать программу оконный менеджер который рвботает с либой
И эта программа прт запуске системы в ауторан дат
Только быстро ли это будет?
Ведь фишка кос это быстрота
Зы. В асме комментарий это
; comment

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Fri Sep 25, 2020 11:17 am
by ProMiNick
1. Как писать библиотеки? - format MS COFF
2. На чём их писать? - хз, на чем удобнее?
вот пример на фасме под виндой отдельно от СВНа:
https://yadi.sk/d/QLbflVX1l56PiQ
..\fasmpack\DEMOS\EXECS\MENUETOS\KOLIBRI\FROM_SVN\LIBS\MSGBOX\MSGBOX.ASM - исходный код самой библиотеки
..\fasmpack\DEMOS\EXECS\MENUETOS\KOLIBRI\FROM_SVN\LIBS\MSGBOX\USE_DEMO\use_mb.asm - исходный код демонстрационного использования библиотеки

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Fri Sep 25, 2020 12:10 pm
by bad_Dr3dd0x
То есть библиотеки пишутся на ассемблер?
Или можно хоть си Шарп?

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Fri Sep 25, 2020 12:17 pm
by rgimad
Библиотеки ms coff, можно и на С писать, на свн есть примеры

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Fri Sep 25, 2020 12:18 pm
by bad_Dr3dd0x
Ок, спасибо за подсказку

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Sat Sep 26, 2020 3:41 am
by Freeman
Alex2003 wrote:То есть библиотеки пишутся на ассемблер?
Или можно хоть си Шарп?
Писать можно, наверное, и на Delphi. Только собирать придется как-то нестандартно, не из IDE. Мы пока не прошли этот квест. Пример использования библиотеки есть в CRTи на форуме.

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Sat Sep 26, 2020 4:56 pm
by maxcodehack

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Sat Sep 26, 2020 5:30 pm
by maxcodehack
ProMiNick wrote:1. Как писать библиотеки? - format MS COFF
2. На чём их писать? - хз, на чем удобнее?
вот пример на фасме под виндой отдельно от СВНа:
https://yadi.sk/d/QLbflVX1l56PiQ
..\fasmpack\DEMOS\EXECS\MENUETOS\KOLIBRI\FROM_SVN\LIBS\MSGBOX\MSGBOX.ASM - исходный код самой библиотеки
..\fasmpack\DEMOS\EXECS\MENUETOS\KOLIBRI\FROM_SVN\LIBS\MSGBOX\USE_DEMO\use_mb.asm - исходный код демонстрационного использования библиотеки
Я бы это лучше скачал с svn
Лежит в programs, develop, libraries

А именно на си пример, это либа pixlib
EDIT:
Собрал библиотеку pixlib самописным скриптом, так как туп только на SVN
Скрипт:

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Sun Sep 27, 2020 2:04 pm
by dunkaist
Alex2003 wrote:3. Как сделать автоматическое монтирование библиотеки при запуске ОС?
A library is loaded to the address space of a program. I.e. you can't preload the library if the program hasn't been started yet.
Moreover, not all programs need GUI, look at AUTORUN.DAT for examples.
Alex2003 wrote:П. С. Пока накидал синтаксис первой функции - как она пишется в фасме
What is gcall and what is the difference with existing mcall?

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Thu Oct 08, 2020 3:49 pm
by bad_Dr3dd0x
dunkaist wrote: A library is loaded to the address space of a program. I.e. you can't preload the library if the program hasn't been started yet.
Moreover, not all programs need GUI, look at AUTORUN.DAT for examples.
Но почему? Тогда что же может подгрузить ядро?
Хотя, вариант подгрузки библиотеки из приложения меня устраивает.
_________for english users
But why? Then what can load the kernel?
Although, the option of loading the library from the app suits me.
dunkaist wrote: What is gcall and what is the difference with existing mcall?
gcall - вызов функций из этой конкретно библиотеки. Сделаю так для того, чтобы можно было понять, какой код за что отвечает. А то макросов много...
_________for english users
call - calling functions from this particular library. I will do this so that you can understand which code is responsible for what. There are a lot of macros...

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Thu Oct 15, 2020 11:37 am
by bad_Dr3dd0x
Блин, я окончательно запутался.... Насмотрелся статей и видео, но так ничего и не понял.
Из чего вообще состоит библиотека? Вроде на Си это загрузчик и список команд... Или нет?
И что лучше: сначала написать документацию и по ней кодить, или наоборот?

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Thu Oct 15, 2020 11:43 am
by maxcodehack
http://board.kolibrios.org/viewtopic.ph ... 093#p74980
Здесь пример библиотеки на Си. Документации как писать вроде нет, но по аналогии с этой либой.

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Thu Oct 15, 2020 2:43 pm
by rgimad
Alex2003 wrote:Блин, я окончательно запутался.... Насмотрелся статей и видео, но так ничего и не понял.
Из чего вообще состоит библиотека? Вроде на Си это загрузчик и список команд... Или нет?
И что лучше: сначала написать документацию и по ней кодить, или наоборот?
.obj библиотека имеет COFF формат. Как ее получить? — очень просто, файлы .o , которые выдает GCC тоже имеют формат COFF. Поэтому просто пишешь .c исходник, коипилируешь, получаешь .o — и все, библиотека готова. Как писать библиотеки? — по сути пишем все как обычно, но есть одна важная вещь - таблица экспорта т.е exports. Как ее сделать, можно узнать, почитав исходники других библиотек

Re: glass environment - альтернативная оконная система в библиотеке

Posted: Thu Oct 15, 2020 2:48 pm
by maxcodehack
Так я ведь уже и показывал как либу на си компилировать(pixlib).