<РаньшеЛоги чата Board.KolibriOS.org за 2016-September-25Позже>
« Вс сен 25, 2016 1:09 am »   вопрос к знатокам
« Вс сен 25, 2016 1:12 am »   если я подключаю несколько дисков к "голому" kolibri.img, нужно ли создавать папку kolibrios\lib с библиотеками из дистрибутива в каждом из них? или же достаточно создать такую папку в одном их этих дисков?
« Вс сен 25, 2016 2:57 am »   pascualle: Только на одном диске. Сабж viewtopic.php?f=1&t=2319&hilit=%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
« Вс сен 25, 2016 3:22 pm »   Serge, обновил инструкцию. https://bitbucket.org/pascualle/tengine ... readme.txt
« Вс сен 25, 2016 3:24 pm »   Serge: Глянь на досуге, я вроде учел все изменения-договоренности. После официального выхода нового тулчейна обновлю статью на Хабре по этой доке
« Вс сен 25, 2016 4:45 pm »   Serge: задолбал, наверное вопросами, но у кого ж еще спрашивать. Функция get_proc_info (f9), она не сильно тяжелая? Мне понравилась твоя идея насчет WIN_STATE_MINIMIZED/WIN_STATE_ROLLED, ее можно вызывать каждый тик?
« Вс сен 25, 2016 4:48 pm »   а еще не могу придумать как легче проверить что окно моего приложения неактивное? проверять на каждом тике PID/TID с f9, а потом f18.7?
« Вс сен 25, 2016 5:42 pm »   pascualle: каждый тик? На событие перерисовки. Пока нет нового события, считай, что состояние окна не изменилось
« Вс сен 25, 2016 5:42 pm »   Ура ! Я сделал ввод с консоли
« Вс сен 25, 2016 5:46 pm »   ftp://ftp.kolibrios.org/users/Serge/new ... 5-09-16.7z
« Вс сен 25, 2016 5:47 pm »   Serge: !!! йеее :)
« Вс сен 25, 2016 6:01 pm »   может было у кого такое, в qemu все работает нормально, но как только нажимашь хоть какую кнопку на клавиатуре -- очень начинает тупить пока не пошевелишь мышкой...
« Вс сен 25, 2016 6:07 pm »   pascualle: Несколько замечаний. Не обязательно ставить mingw на диск С:
« Вс сен 25, 2016 6:11 pm »   libapp.a больше не будет. Статические библиотеки и библиотеки импорта устанавливаются в /home/autobuild/tools/win32/lib
« Вс сен 25, 2016 6:16 pm »   pascualle: с++ проект: порядок библиотек lstdc++ -lsupc++ -lgcc -lc.dll
« Вс сен 25, 2016 6:21 pm »   pascualle: к CFLAGS обязательно надо добавлять -U_Win32 -U_WIN32 -U__MINGW32__
« Вс сен 25, 2016 6:25 pm »   Serge: я так понимаю ты ситаешь инструкцию. mingw на С -- это не обязательно, я обозначаю, что в статье предполагается, что она установлена на С, это для того, чтобы новичок копи-пэйстил и у него все работало. По остальному щас исправлю.
« Вс сен 25, 2016 6:25 pm »   Ключи LD для оконных программ: -static --subsystem native --stack <по желанию. default 0x200000> -Tapp-dynamic.lds --image-base 0
« Вс сен 25, 2016 6:28 pm »   для консольных: -static --stack <по желанию. default 0x200000> -Tapp-dynamic.lds --image-base 0
« Вс сен 25, 2016 6:29 pm »   для статически линкованных: скрипт меняется на -Tapp-static.lds
« Вс сен 25, 2016 6:31 pm »   Для сборки dll: -shared -s -T dll.lds --entry _DllStartup --image-base=0 --out-implib lib$(LIBRARY).dll.a
« Вс сен 25, 2016 6:32 pm »   может, чтоб не раздувать программы, опцию "статически линкованные" сделаем недокументированную? предполагаем, что dll файлы будут всегда в системе
« Вс сен 25, 2016 6:33 pm »   pascualle: Статическая линковка помогает при отладке. mtdbg читает мап-файл с адресами
« Вс сен 25, 2016 6:33 pm »   сильно помогает
« Вс сен 25, 2016 6:36 pm »   и вопросы такие появляются регулярно. К тому же часть библиотек в двух вариантах собрана cairo freetype drm pixman ffmpeg drm
« Вс сен 25, 2016 6:36 pm »   принимается, пишу все
« Вс сен 25, 2016 6:36 pm »   libz libpng libjpeg
« Вс сен 25, 2016 6:37 pm »   И завершающий этап kos32-objcopy $@ -O binary
« Вс сен 25, 2016 6:38 pm »   pascualle: Потом инструкцию надо на форум прикрепить.
« Вс сен 25, 2016 6:39 pm »   Serge: как и обещал, все выдам и на Хабре исправлю
« Вс сен 25, 2016 6:41 pm »   pascualle: Только дай мне сначала libstdc++ закончить
« Вс сен 25, 2016 6:42 pm »   Serge: я тебе еще скину раз исправления и буду ждать отмашки на форума newlib
« Вс сен 25, 2016 6:43 pm »   Serge: а еще я тут свое пытаюсь причесать, так что буду еще вопросами задалбывать
« Вс сен 25, 2016 8:09 pm »   повторюсь. Подскажите как узнать что окно моего приложения стало неактивным? (например, пользователь переключился на другое окно)
« Вс сен 25, 2016 8:30 pm »   обновил сборку ftp://ftp.kolibrios.org/users/Serge/new ... 5-09-16.7z
« Вс сен 25, 2016 8:30 pm »   библиотеки ftp://ftp.kolibrios.org/users/Serge/new ... 5-09-16.7z
« Вс сен 25, 2016 8:31 pm »   длл ftp://ftp.kolibrios.org/users/Serge/new ... 5-09-16.7z
« Вс сен 25, 2016 8:40 pm »   Serge: https://bitbucket.org/pascualle/tengine ... readme.txt вроде все исправил
« Вс сен 25, 2016 8:48 pm »   pascualle: надо на событие перерисовки дёргать ф9 и смотреть слова +4 и +6. А вот как именно не помню
« Вс сен 25, 2016 8:50 pm »   pascualle: • Собранные библиотеки будут в d:\kolibri\contrib\sdk\bin и d:\kolibri\contrib\sdk\lib только длл в bin
« Вс сен 25, 2016 8:58 pm »   Serge: доку подправлю, по ф9 гляну, спасибо. Кстати, при Minimize эвент REDRAW_EVENT не всегда приходит, вернее очень редко приходит, пршлось перенести проверку на каждый тик
« Вс сен 25, 2016 9:09 pm »   pascualle: Минимизированные похоже совсем не должны получать REDRAW_EVENT
« Вс сен 25, 2016 9:09 pm »   Я сталкивался с чем-то похожим.
« Вс сен 25, 2016 9:10 pm »   pascualle: тебе надо получить pid через ф9 или прочитать fs:[0] или get_pid() в libc
« Вс сен 25, 2016 9:11 pm »   потом через 18.21 узнать номер слота для потока
« Вс сен 25, 2016 9:13 pm »   при REDRAW_EVENT вызываешь 18.7 и получаешь номер слота активного окна
« Вс сен 25, 2016 9:14 pm »   номер слота потока постоянен, значит обходишься одним вызовом 18.7 не перерисовку.
« Вс сен 25, 2016 9:16 pm »   pascualle: getpid()
« Вс сен 25, 2016 9:18 pm »   pascualle: это inline функция, так что рекомендую её в С программах
« Вс сен 25, 2016 9:21 pm »   Serge: спасибо огромное! щас попробую
« Вс сен 25, 2016 10:23 pm »   Serge: заработало! только getpid() не нашел в исходниках contrib, разве что в медиа модулях. так шо обошелся ф9. Дуже дякую!
« Вс сен 25, 2016 10:42 pm »   Serge: а когда новые бинарники в ночную сборку попадут? этой ночью?
« Вс сен 25, 2016 10:46 pm »   Serge: блин, хотел под колибри собрать box2d примерчик, да там чуточку stl есть. так что жду... :)
« Вс сен 25, 2016 10:55 pm »   а теперь обращаюсь к добровольцам, кто может протестить примерчик tengine на реальном железе. Изменения: наконец-то людское скин окно, его можно сворачивать, уменьшать. Отрабатывается правильно инпут при неактивном окне. При свернутом и минимизированном окне, выгружаются все ресурсы приложения из памяти, удаляется рабочий поток, потребление процессора на уровне 1%. Что нужно протестить: что мышка и клавиатура нормально работают (на qemu квалиатура тупит), чо окно работает не хуже чем окна других приложений.