Board.KolibriOS.org
http://board.kolibrios.org/

Общесистемный буфер обмена
http://board.kolibrios.org/viewtopic.php?f=1&t=991
Page 13 of 13

Author:  Pathoswithin [ Fri Apr 22, 2016 3:01 am ]
Post subject:  Re: Общесистемный буфер обмена

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

Author:  Siemargl [ Mon Apr 25, 2016 11:16 pm ]
Post subject:  Re: Общесистемный буфер обмена

Перерисовку по обновлению поставил, но:

-в newlibc вызов printf тянет за собой 20кб прочих зависимостей
-msgbox мягко говоря сложно использовать - нереентерабельная и немодальная библиотека
-попробовал задействовать ktcc - убил день на выяснение следующих фактов:

--компилятор tcc требует доработки - inline и некоторые ошибки в исходниках приводят к крэшу компилятора tcc
--не полностью совместимый с gcc встроенный ассемблер ktcc
--несовместимость с принципом gcc intrinsics приводит к тому, что библиотеки собранные gcc нельзя из ktcc использовать совсем (и скорее всего из других компиляторов тоже)
--libc от ktcc имеет свои ошибки где то в *printf, надо править или пробовать использовать ktcc с menuetlibc. И именование системных вызовов не совпадает с newlib
--нет формирования map файла, в итоге нормально пользовать отладчик нельзя

В итоге, пока оптимизация размера откладывается.
Отдельное окошко с подробностями добавлю как побеждю msglib или напишу аналог.

Upd. Все что надо, исправлено

Author:  Leency [ Tue Apr 26, 2016 11:49 am ]
Post subject:  Re: Общесистемный буфер обмена

Попробуй С--, у него уже есть масса оберток для сисфункий и библиотек.
Программ для изучения тоже хватает.

Author:  Siemargl [ Sat Apr 30, 2016 5:06 pm ]
Post subject:  Re: Общесистемный буфер обмена

На мой взгляд, с-- выглядит достаточно дохлым языком (все съехали на LLVM), чтобы его учить.

Итого, пофиксил слегка ktcc (точнее его clib) и пересобрал им. Стало поменьше.
Добавил модальное окошко, при двойном щелчке на тексте.

Единственное - похоже баг в системе - через некоторое время (после запуска скринсейвера), сисфункция 54.1 начинает крашится при вызове.
Оживает ОС только по перезагрузке. Проявилось, т.к. я при каждой перерисовке перечитываю клипбоард.

Версия обновлена, уменьшен размер после сборки текущим tcc

Attachments:
clipview [7.59 KiB]
Downloaded 112 times
ClipView_tcc_src.zip [9.77 KiB]
Downloaded 106 times

Page 13 of 13 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/