Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Sep 22, 2019 2:55 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 5 posts ] 
Author Message
 Post subject: Вопросы по KOS
PostPosted: Thu Jul 03, 2014 9:48 pm 
Offline

Joined: Fri Jun 27, 2014 7:26 pm
Posts: 1
1) Если какой-нибудь мануал, подробно объясняющий как работать с .dll, как её выгрузить?

2) Что означает последний дворд заголовка, который иногда подписывается как icon?

3) Можно ли контролировать количество квантов выделяемых другому потоку внутри программы?

4) Предпоследний дворд называется "параметры", необходимо указать на область памяти, куда загрузчик положит их? Какой тогда максимальный размер этой строки?

5) Есть ли какой-нибудь список задач на пару сотен строк, на которые "старичкам" нет времени, и можно потренироваться?

Заранее благодарен.


Top
   
PostPosted: Thu Jul 03, 2014 10:47 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
1) для подключения библиотек есть 2 варианта:
- использовать функцию dll.Load из файла dll.inc -
http://websvn.kolibrios.org/filedetails ... %2Fdll.inc
- использовать макросы из файла load_lib.mac -
http://websvn.kolibrios.org/filedetails ... ad_lib.mac
Информацию для программирования можно найти здесь http://wiki.kolibrios.org/wiki/For_developers/ru , но статей там мало. Много может не быть.
Макрос load_lib.mac дает некоторые преимущества по сравнению с функциями dll.Load, например если библиотека не найдена или функции в библиотеке не совпадают с экспортированными то макрос выдаст сообщение пользователю программы. Использование dll.Load по идее должно быть легче для программиста, но зато при возникновении проблем с библиотекой пользователь не поймет в чем дело и почему программа не запустилась. Есть программы которые используют и тот и другой способы. Сами макросы из load_lib.mac в некоторых случаях используют функции из dll.inc . По использованию макросов load_lib.mac для подключения библиотек можно посмотреть информацию тут http://websvn.kolibrios.org/filedetails ... readme.txt
2) это указатель на системный путь, т. е. на папку откуда была запущена программа. Если там 0 то программа не будет знать откуда она загрузилась. Используется если в папке с программой есть какие либо файлы, которые требуется открыть обычно без участия пользователя.
3) это я не знаю, но думаю что нет
4) точно не скажу но или 4096 или 1024 байт, потому как во многих программах именно эти цифры. Вроди как 4096 это заготовки на будущее и используется только 1024.
5) не знаю таких списков


Top
   
PostPosted: Thu Jul 03, 2014 11:16 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
Asiaron wrote:
5) Есть ли какой-нибудь список задач на пару сотен строк, на которые "старичкам" нет времени, и можно потренироваться?
Списки есть, но не все задачи там "по зубам" даже "старичкам". Всё зависит от того, какие у тебя навыки программирования. Из более-менее лёгких задач:
1. Программа поиска файлов по всем дискам (SEARCH), как в WindowsXP.
2. Таймер / будильник (у нас есть программа, называющаяся Timer, но на самом деле это секундомер)
Если хочется сразу поломать зубы, то есть задачи и покруче, например драйвер сетевых карт Broadcom / Atheros.


Top
   
PostPosted: Thu Jul 03, 2014 11:26 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Уточню насчет:
2) Это не указатель директории, а полный путь откуда запущен исполняемый файл, включая полное название самого файла. ЕМНИП размер, который копирует ядро - до 1024 байт.
3) Не достаточно подробно заданный вопрос. На данную формулировку ответ скорее отрицательный.
4) По умолчанию ядро копирует только 256 байт. Есть возможность увеличить размер - обсуждение реализации здесь "Длина командной строки и пути к файлу при запуске".
5) Проект свободный и если программист не работает в рамках KSoC или GSoC (где студентам выдаются деньги за выполнение поставленных заданий на протяжение лета), то каждый сам определяет для себя круг задач. Разумеется если заинтересовавшая тема уже кем то разрабатывается, то кооперация приветствуется, но никто не запрещает в одиночку работать параллельно. Главное, чтобы не мешались друг друг, так что координация важна.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri Jul 04, 2014 12:35 am 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 428
Asiaron wrote:
5) Есть ли какой-нибудь список задач на пару сотен строк, на которые "старичкам" нет времени, и можно потренироваться?
Есть такая программа -- magnify, экранная лупа. Полезна, например, при работе над мелкими элементами интерфейса. Есть предложения по её усовершенствованию (от простого к сложному):

  1. инвертирование (белый/чёрный) цвета решётки по нажатию Tab;
  2. увеличение/уменьшение масштаба по нажатию +/- (скажем, в пределах 2,4,8,16,32,64);
  3. изменяемые мышью размеры окна (сейчас фиксированы);
  4. режим слежения за определённым участком экрана, а не за курсором;
  5. подсчёт расстояния в пекселях для последовательности левых кликов в окне программы (сброс по правому клику).

Программа в дистрибутиве лежит в корне диска; исходники в репозитории в /programs/demos/magnify.
Мелкие вопросы "да/нет" пиши в чат или irc; если нужно что-то объяснить, то на форум.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 5 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited