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