реклама на сайте
подробности

 
 
> Препроцессор QT/moc, использлвание в НЕ Qt программах
nanorobot
сообщение Jul 2 2015, 07:20
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Поннравился механизм signal/slot в Qt. Его реализация обеспечивается препроцессором moc. То есть теоретически есть возможность его использования вне Qt. Реализовать соответствующий алгоритм в makefile и вперед. Лично моей квалификации на это пока не хватит. Мож делал кто?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Jul 2 2015, 07:31
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Ну вообще то там две части - с одной стороны препроцессор (который обеспечивает удобный синтаксис объявления сигналов/слотов) а с другой - поддержка в библиотеке (которая обеспечивает работу всего этого во время выполнения)

Просто взять и выдрать из Qt сигналы/слоты врядли получится - они потянут еще какие-то части QtCore. Если процессор "жирный", то можно просто взять Qt и скомпилировать его часть (эту самую QtCore) для данного процессора.

Или можно посмотреть на буст, там есть нечто похожее - signals2, который (насколько я помню) компиляции не требует.
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Jul 2 2015, 07:55
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(Непомнящий Евгений @ Jul 2 2015, 12:31) *
Просто взять и выдрать из Qt сигналы/слоты врядли получится - они потянут еще какие-то части QtCore. Если процессор "жирный", то можно просто взять Qt и скомпилировать его часть (эту самую QtCore) для данного процессора.


Правильно ли я понял, что можно собрать Qt, который будет генерировать код, не привязанный к ОС , например, линуксу?

Напрямую из Вашего поста это не следует, но если нет, тогда к чему эти манипуляции? Просто берем и пишем для линуха

PS не знаю процента жирности LPC435xx

Сообщение отредактировал nanorobot - Jul 2 2015, 08:01
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Jul 2 2015, 10:17
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(nanorobot @ Jul 2 2015, 10:55) *
Правильно ли я понял, что можно собрать Qt, который будет генерировать код, не привязанный к ОС , например, линуксу?
Напрямую из Вашего поста это не следует, но если нет, тогда к чему эти манипуляции? Просто берем и пишем для линуха

Qt большая. Сигналы и слоты относятся к QtCore, которую, по идее, можно собрать и без ОС (но скорее всего весьма непросто sm.gif )

Стоит ли овчинка выделки только ради сигналов/слотов - хз, мне кажется много проще взять std::function. Как-то так

Код
struct MyCoolObject {
  std::vector<std::function<void(int a)> > subscribers;
  
  void fireEvent() {
    for (auto &s: subscribers)
      s(42);
  }
} obj;

obj.subscribers.push_back([](int a) { std::cout<< a;});

obj.fireEvent();


Цитата
PS не знаю процента жирности LPC435xx

200 МГц, 1 Мб ПЗУ и 136 кб ОЗУ - ну хз, сильно зависит, сколько сожрет прикладной код. Моя QtCore.dll весит 2,1 Мб. Утоптать ее наверное можно, вот только какая выгода?
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Jul 2 2015, 11:23
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(Непомнящий Евгений @ Jul 2 2015, 15:17) *
200 МГц, 1 Мб ПЗУ и 136 кб ОЗУ - ну хз, сильно зависит, сколько сожрет прикладной код. Моя QtCore.dll весит 2,1 Мб. Утоптать ее наверное можно, вот только какая выгода?

Параметры процессора мне известны. Неизвестна "жирность" по отношению к гипотетическому КуТэ без линуха...

Сообщение отредактировал nanorobot - Jul 2 2015, 14:29
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Jul 2 2015, 11:29
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(nanorobot @ Jul 2 2015, 14:23) *
Параметры процессора мне известны. Неизвестна "жирнрсть" по отношению к гипотетическому КуТэ без линуха...

ИМХО, для Qt тут ресурсов маловато. Хотя возможно я ошибаюсь. Экспериментируйте sm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nanorobot   Препроцессор QT/moc   Jul 2 2015, 07:20
|- - den_po   Цитата(Непомнящий Евгений @ Jul 2 2015, 12...   Jul 3 2015, 07:51
- - Mihey_K   Без ОС Qt вам не собрать, потому что это фреймворк...   Jul 3 2015, 11:57
|- - Непомнящий Евгений   Цитата(Mihey_K @ Jul 3 2015, 14:57) Без О...   Jul 3 2015, 12:11
- - Mihey_K   Можно многое напильником сделать, но оправдает ли ...   Jul 3 2015, 12:25
|- - Непомнящий Евгений   Цитата(Mihey_K @ Jul 3 2015, 15:25) Можно...   Jul 3 2015, 12:39
- - Mihey_K   Как минимум придется пилить атомарный доступ, спин...   Jul 3 2015, 14:23
- - Slash   Вроде бы используя ОС EmBox http://se.math.spbu.ru...   Jul 6 2015, 21:08
- - Mihey_K   Механизм сигналов/слотов можно в некоторой степени...   Jul 6 2015, 22:29
- - nanorobot   Цитата(Mihey_K @ Jul 7 2015, 03:29) Механ...   Jul 9 2015, 15:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 08:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016