Всем привет.
Я создал отдельный бранч kolibri-e, предназначенный для испытания новых решений.
У меня тут есть идея: создать оконную систему в библиотеке, которая автоматически подгружается при запуске ядра. Но у меня есть несколько вопросов:
1. Как писать библиотеки?
2. На чём их писать?
3. Как сделать автоматическое монтирование библиотеки при запуске ОС?
Заранее благодарю.
П. С. Пока накидал синтаксис первой функции - как она пишется в фасме
glass environment - альтернативная оконная система в библиотеке
-
- Attachments
-
-
16010181142991217981128.jpg (3.35 MiB)Графическая функция 1 - отрисовать окно Viewed 9008 times
-
3. Создать программу оконный менеджер который рвботает с либой
И эта программа прт запуске системы в ауторан дат
Только быстро ли это будет?
Ведь фишка кос это быстрота
Зы. В асме комментарий это
; comment
И эта программа прт запуске системы в ауторан дат
Только быстро ли это будет?
Ведь фишка кос это быстрота
Зы. В асме комментарий это
; comment
Last edited by maxcodehack on Sat Sep 26, 2020 5:46 pm, edited 1 time in total.
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 - исходный код демонстрационного использования библиотеки
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 - исходный код демонстрационного использования библиотеки
То есть библиотеки пишутся на ассемблер?
Или можно хоть си Шарп?
Или можно хоть си Шарп?
Библиотеки ms coff, можно и на С писать, на свн есть примеры
The best way to predict the future is to create it.
Ок, спасибо за подсказку
You saw it viewtopic.php?f=36&t=1575 ?
Я бы это лучше скачал с svnProMiNick 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 - исходный код демонстрационного использования библиотеки
Лежит в programs, develop, libraries
А именно на си пример, это либа pixlib
EDIT:
Собрал библиотеку pixlib самописным скриптом, так как туп только на SVN
Скрипт:
- Attachments
-
-
compile.zip (239 Bytes)Downloaded 195 times
-
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.Alex2003 wrote:3. Как сделать автоматическое монтирование библиотеки при запуске ОС?
Moreover, not all programs need GUI, look at AUTORUN.DAT for examples.
What is gcall and what is the difference with existing mcall?Alex2003 wrote:П. С. Пока накидал синтаксис первой функции - как она пишется в фасме
Но почему? Тогда что же может подгрузить ядро?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.
gcall - вызов функций из этой конкретно библиотеки. Сделаю так для того, чтобы можно было понять, какой код за что отвечает. А то макросов много...dunkaist wrote: What is gcall and what is the difference with existing mcall?
_________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...
Блин, я окончательно запутался.... Насмотрелся статей и видео, но так ничего и не понял.
Из чего вообще состоит библиотека? Вроде на Си это загрузчик и список команд... Или нет?
И что лучше: сначала написать документацию и по ней кодить, или наоборот?
Из чего вообще состоит библиотека? Вроде на Си это загрузчик и список команд... Или нет?
И что лучше: сначала написать документацию и по ней кодить, или наоборот?
http://board.kolibrios.org/viewtopic.ph ... 093#p74980
Здесь пример библиотеки на Си. Документации как писать вроде нет, но по аналогии с этой либой.
Здесь пример библиотеки на Си. Документации как писать вроде нет, но по аналогии с этой либой.
.obj библиотека имеет COFF формат. Как ее получить? — очень просто, файлы .o , которые выдает GCC тоже имеют формат COFF. Поэтому просто пишешь .c исходник, коипилируешь, получаешь .o — и все, библиотека готова. Как писать библиотеки? — по сути пишем все как обычно, но есть одна важная вещь - таблица экспорта т.е exports. Как ее сделать, можно узнать, почитав исходники других библиотекAlex2003 wrote:Блин, я окончательно запутался.... Насмотрелся статей и видео, но так ничего и не понял.
Из чего вообще состоит библиотека? Вроде на Си это загрузчик и список команд... Или нет?
И что лучше: сначала написать документацию и по ней кодить, или наоборот?
The best way to predict the future is to create it.
Так я ведь уже и показывал как либу на си компилировать(pixlib).
Who is online
Users browsing this forum: No registered users and 1 guest