Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср янв 16, 2019 3:43 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 14 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Участие в разработке
СообщениеДобавлено: Вс дек 16, 2018 9:41 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вс дек 16, 2018 1:59 am
Сообщения: 8
Доброго времени суток! Я недавно узнал о проекте, очень заинтересовался и хотел бы принять участие в разработке/портировании ПО. Администратор группы ВК сказал
Цитата:
с моей точки зрения не хватает удобного текстового редактора с подсветкой кода

Я хочу сделать что-то (хотя у меня и другое видение о программах первой необходимости), но очень трудно начать, потому что не совсем понятно как организовать процесс разработки, т.е. мне интересно кто как работает в плане работает ли на живом железе/виртуальной машине, где разрабатывает - на целевой ос или вне ее, если так, то как переносить код/бинарники туда-сюда. Попробовал FTP-клиент (гуишный), он крашится при подключении, сеть отваливается постоянно на VirtualBox, утилитой настройки сети не восстанавливается, лечится только перезагрузкой. Хочется получить рекомендации "как начать" и м/б получить ссылки на конкретный код, который необходимо дорабатывать. Планирую писать на си (какой бы он ни был:-). Нахожусь в СПб, буду рад лично встретиться с другими участниками проекта. Спасибо!

_________________
This library provide an easy interface to the black magic...


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Пн дек 17, 2018 12:05 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 795
Добрый день.
plastictown писал(а):
Планирую писать на си (какой бы он ни был:-)

На сколько я знаю для Колибри компилируются программы с помощью C-- и Borland C++ 5.02.
На C-- пишутся многие программы и он вроде-бы работает в самой Колибри. Администратор группы ВК (если имеется ввиду Leency, Кирилл) пишет программы на C--, думаю у него можно узнать более детальную информацию по работе с этим компилятором.
На Borland C++ есть пример компиляции программы life2. Этот компилятор не портирован в Колибри и наверное потому широкого распространения не получил. Хотя там очень интересный подход используется при компиляции. Сначала программа компилируется в ассемблерный код для TASM. Потом этот код преобразуется в код для fasm. Далее с помощью fasm компилируется исполняемый файл. Т.е. через Borland сначала получается ассемблерный код.


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Вт дек 18, 2018 3:05 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вс дек 16, 2018 1:59 am
Сообщения: 8
Да, я пытаюсь использовать tcc, могу собрать пока только пустой main(), потому что просто не могу понять, как собрать api целиком в виде заголовочников и библиотек, если таковой существует. Как-то все в виде отдельных ссылок на форуме. А Borland.. не хотелось бы кросс-компилить, очень неудобно перемещать бинарники, тем более, что на моей машине ОС нормально не запустилась, только на виртуалбоксе. Обидно просидеть до трех часов и не сделать вообще ничего полезного:)

_________________
This library provide an easy interface to the black magic...


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Вт дек 18, 2018 3:11 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 426
работает в бесплатном vmware player, переношу через .flp (подключается в VMW) с помощью winimage 4.0
еще можно через USB-флешку

неудобно - нужно переподключать образ после изменений

С сейчас живой в 3х вариантах - gcc5.4+newlib, gcc + djgpp lib, tcc (единственный нативный-но примитивный)
1й и 3й вариант имеют АПИ в виде kos32sys?.h

C-- это другой диалект (ниже уровнем чем С), но на нем написано больше всего

все есть на форуме


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Ср дек 19, 2018 2:32 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вс дек 16, 2018 1:59 am
Сообщения: 8
Siemargl писал(а):
еще можно через USB-флешку

Сделал загрузку с флешки в виртуалбоксе - в принципе нормально, не страшнее кросс-компиляции каким-нибудь linaro.
Siemargl писал(а):
C-- это другой диалект (ниже уровнем чем С), но на нем написано больше всего

Мне leency, я полагаю, дал сегодня вектор в этом направлении, после прочтения доки по C-- остался один вопрос: там как-то хитро написано, что можно вроде бы собирать файлы obj, но использовать их нельзя, но можно использовать библиотеки, собранные на других языках. Правильно ли я понял?
Siemargl писал(а):
все есть на форуме

Жуткая фраза:) Тем не менее, я собрал программку, которая даже запускается:) А нормально ли, что консольная программа после завершения не закрывается? я ее взял из примеров.

_________________
This library provide an easy interface to the black magic...


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Ср дек 19, 2018 11:39 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 426
можно загружать .obj COFF формата со спец.заголовком сисфункцией

чтобы закрыть консольное окно,нужно в конце программы вызвать функцию консоли con_exit как то так (удобно, если при ошибке окно с сообщением осталось)


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Ср дек 19, 2018 11:30 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вс дек 16, 2018 1:59 am
Сообщения: 8
Siemargl писал(а):
чтобы закрыть консольное окно,нужно в конце программы вызвать функцию консоли con_exit как то так (удобно, если при ошибке окно с сообщением осталось)


В примере так и сделано.

Код:
con_exit stdcall (0);
ExitProcess();


На окне появляется надпись FINISHED и оно остается. Зато я научился создавать файл:)
Хотя там странное дело Написано в доке на сисколл, что функция не работает для CD. Если CD - это текущая директория, то она работает, а если нет, тогда непонятно что такое CD:)
Я подумал, а не имеет ли смысла привести сигнатуры функций для c-- к posix-ным или так специально задумано? Тем более непонятно, что передавать в буфер, если я хочу просто создать пустой файл.
Еще интересно, нет ли документации на функции для c--? Просто по исходникам далеко не все очевидно, хотя бы какие нужно загружыть библиотеки для какой функции.
Я наверное не в ту ветку пишу все это:)


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Чт дек 20, 2018 9:57 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 426
plastictown писал(а):
Siemargl писал(а):
чтобы закрыть консольное окно,нужно в конце программы вызвать функцию консоли con_exit как то так (удобно, если при ошибке окно с сообщением осталось)


В примере так и сделано.

Код:
con_exit stdcall (0);
ExitProcess();


На окне появляется надпись FINISHED и оно остается. Зато я научился создавать файл:)
Хотя там странное дело Написано в доке на сисколл, что функция не работает для CD. Если CD - это текущая директория, то она работает, а если нет, тогда непонятно что такое CD:)
Я подумал, а не имеет ли смысла привести сигнатуры функций для c-- к posix-ным или так специально задумано? Тем более непонятно, что передавать в буфер, если я хочу просто создать пустой файл.
Еще интересно, нет ли документации на функции для c--? Просто по исходникам далеко не все очевидно, хотя бы какие нужно загружыть библиотеки для какой функции.
Я наверное не в ту ветку пишу все это:)

чтобы закрылось, надо con_exit (1)
http://websvn.kolibrios.org/filedetails ... ole_en.txt
рядом есть и дока на русском

непонятно про какой сисколл, но CD это компакт-диск, вероятно


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Пт дек 21, 2018 2:23 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вс дек 16, 2018 1:59 am
Сообщения: 8
Siemargl писал(а):
чтобы закрылось, надо con_exit (1)
http://websvn.kolibrios.org/filedetails ... ole_en.txt
рядом есть и дока на русском
непонятно про какой сисколл, но CD это компакт-диск, вероятно

Я имел в виду 70 функцию. Про этот CD даже в голову не пришло. Наверное, скоро их совсем не станет.(
За доки спасибо! Очень удобные.

Дело за малым: придумать, чего же я такого полезного хочу сделать.-)))

_________________
This library provide an easy interface to the black magic...


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Вт янв 01, 2019 8:31 pm 
Не в сети

Зарегистрирован: Сб апр 22, 2017 6:11 pm
Сообщения: 222
plastictown писал(а):
Дело за малым: придумать, чего же я такого полезного хочу сделать.-)))

Для примера: ты можешь реализовать конвертер величин (секунды в минуты, минуты в часы, гигабайты в байты, километры в метры и т.д.). На мой взгляд такая программа полезная и не сильно сложная, для начала самая подходящая задача. Это только как пример того, что ты можешь сделать.

P.S. Чтобы полученные навыки работы с файлами зря не пропали, можно сохранять результат в файл или обрабатывать несколько значений из одного файла, сохраняя результат конвертации во второй.


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Пт янв 11, 2019 10:27 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вс дек 16, 2018 1:59 am
Сообщения: 8
theonlymirage писал(а):
Для примера: ты можешь реализовать конвертер величин (секунды в минуты, минуты в часы, гигабайты в байты, километры в метры и т.д.). На мой взгляд такая программа полезная и не сильно сложная, для начала самая подходящая задача. Это только как пример того, что ты можешь сделать.

P.S. Чтобы полученные навыки работы с файлами зря не пропали, можно сохранять результат в файл или обрабатывать несколько значений из одного файла, сохраняя результат конвертации во второй.


У меня родилась чуть другая идея. Думаю попробовать портировать на cmm libconfig или libjson-c и сделать автогенерацию интерфейса на основе текстового файла. Мне кажется, это хорошая идея.

_________________
This library provide an easy interface to the black magic...


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Сб янв 12, 2019 9:55 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1258
...эге-кхе-кхе...портировать Scintilla...кхе-хе...


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Вт янв 15, 2019 2:54 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вс дек 16, 2018 1:59 am
Сообщения: 8
Pathoswithin писал(а):
...эге-кхе-кхе...портировать Scintilla...кхе-хе...


Не совсем понятно, что имеется в виду. Если это совет, то это слишком сложная работа при таком скудном наборе инструментов и библиотек, а вот генерация окна с элементами управления на основе текстового файла - на мой взгляд, может сильно ускорить разработку диалоговых окошек, хотя и поведение их придется расписывать так же. Плюс к тому - libconfig в принципе очень удобная штука. Юзал ее для генерации дерева элементов в 2D движке на OpenGL. Как минимум удобнее xml и не так громоздко выглядит.

_________________
This library provide an easy interface to the black magic...


Вернуться к началу
 Заголовок сообщения: Re: Участие в разработке
СообщениеДобавлено: Вт янв 15, 2019 5:07 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1138
plastictown писал(а):
У меня родилась чуть другая идея. Думаю попробовать портировать на cmm libconfig или libjson-c и сделать автогенерацию интерфейса на основе текстового файла. Мне кажется, это хорошая идея.


Просто портировать, пусть на Си и остаются.

_________________
я лишь учусь


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 14 сообщений ] 

Часовой пояс: UTC+03:00


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

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


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB