Re[12]: Обработка сообщений и всё такое
От: B0FEE664  
Дата: 20.08.18 12:01
Оценка:
Здравствуйте, Igore, Вы писали:

BFE>>Внешний инструмент всегда требует существенных затрат на его настройку. Например, компиляция Qt кода из-под Visual Studio требует существенных временных затрат на настройку проекта.

I>Ого, а можно подробности? У меня всегда былы скачай Add In, Next, Next, Install, пользуйся.

У меня AddIn для Qt 4 со студией 2015 community edition нормально не работал. Приходилось руками прописывать pre-build для каждого Qt зависимого файла, а потом ещё отдельно настраивать компиляцию для сгенерённых файлов для Debug и Release конфигураций. Кстати, а есть AddIn для Qt 4 для VS 2017?
И каждый день — без права на ошибку...
Re[12]: Обработка сообщений и всё такое
От: B0FEE664  
Дата: 20.08.18 12:10
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>ЧЯДНТ?

Используете Qt5, а на моей target системе Qt5 не компилировался. Использовался Qt4.

Кстати, а вы пробовали кросс-компиляцию Qt5 под arm?
И каждый день — без права на ошибку...
Re[13]: Обработка сообщений и всё такое
От: AlexGin Беларусь  
Дата: 20.08.18 12:51
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>Кстати, а вы пробовали кросс-компиляцию Qt5 под arm?


Нет, т.к. практической необходимости не было.
Re[3]: Обработка сообщений и всё такое
От: c-smile Канада http://terrainformatica.com
Дата: 20.08.18 16:23
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, c-smile, Вы писали:


CS>>Что-то типа этого:


M>А если у каждого события свои собственные параметры есть?



Всякие варианты возможны.

Например чтобы не плодить types explosion:

typedef std::variant<MOUSE_PARAMS,KEY_PARAMS,CMD_PARAMS> params;

struct subscription {
  uint    event_id;
  object* obj;
  std::function<void(const params& p)> callback;
};
Re[4]: Обработка сообщений и всё такое
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 20.08.18 16:44
Оценка:
Здравствуйте, c-smile, Вы писали:


CS>Всякие варианты возможны.


CS>Например чтобы не плодить types explosion:


Да нет, не всякие. std::variant — нету

Компилятор 11ого стандарта, а C++ либа — 96ого. Это Keil MDK


Но вообще, идея с variant'ом — не очень — появятся новые типы — надо будет variant править. Не очень как-то
Маньяк Робокряк колесит по городу
Re[2]: Обработка сообщений и всё такое
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 20.08.18 16:57
Оценка:
Здравствуйте, Igore, Вы писали:

I>Опиши задачу, опиши какие бибилиотеки используешь, может в них уже есть свои механизмы, так то можно и через boost::asio или libevent события обрабатывать.


Задача — хоть как-то упорядочить лапшу, которая сейчас лепится на STMке. Есть куча ужасных велосипедов, которые наворотили коллеги-эмбедщики. Их особо не парит, они так всю жизнь живут, а меня, пришедшего из большого спорта, это напрягает . Есть компилятор Keil 11 стандарта, но нет новых либ. Что-то понемного тырю из gcc и адаптирую под кейл. Соответственно, std::function и тп тоже нет, хотя лямбды есть
Маньяк Робокряк колесит по городу
Re[3]: Обработка сообщений и всё такое
От: so5team https://stiffstream.com
Дата: 20.08.18 17:32
Оценка:
Здравствуйте, Marty, Вы писали:

M>Задача — хоть как-то упорядочить лапшу, которая сейчас лепится на STMке. Есть куча ужасных велосипедов, которые наворотили коллеги-эмбедщики. Их особо не парит, они так всю жизнь живут, а меня, пришедшего из большого спорта, это напрягает . Есть компилятор Keil 11 стандарта, но нет новых либ. Что-то понемного тырю из gcc и адаптирую под кейл. Соответственно, std::function и тп тоже нет, хотя лямбды есть


Для emedded-а вроде как QP/C++ есть. Там даже 11-го стандарта не нужно.
Re[5]: Обработка сообщений и всё такое
От: AlexGin Беларусь  
Дата: 21.08.18 05:51
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, c-smile, Вы писали:



CS>>Всякие варианты возможны.


CS>>Например чтобы не плодить types explosion:


M>Да нет, не всякие. std::variant — нету

Есть boost::variant:
https://www.boost.org/doc/libs/1_64_0/doc/html/variant.html

Пример:
    boost::variant< int, std::string > u("hello world");
    std::cout << u; // output: hello world


M>Компилятор 11ого стандарта, а C++ либа — 96ого. Это Keil MDK

Там boost применять можно?

M>Но вообще, идея с variant'ом — не очень — появятся новые типы — надо будет variant править. Не очень как-то


Ну почему же?
Сведи весь обмен (клиент<-->сервер) к POD типам и — вперёд!

P.S. Есть VARIANT в COM архитектуре MS Windows:
https://docs.microsoft.com/en-us/windows/desktop/winauto/variant-structure
но я так понимаю, что ты влезать в это не будешь...
Отредактировано 21.08.2018 5:56 AlexGin . Предыдущая версия .
Re[6]: Обработка сообщений и всё такое
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 21.08.18 06:43
Оценка:
Здравствуйте, AlexGin, Вы писали:


M>>Компилятор 11ого стандарта, а C++ либа — 96ого. Это Keil MDK

AG>Там boost применять можно?

Теоретически наверно можно, но никто не пробовал пока. Да и когда под программу у тебя 64К (ну хорошо, 128К ), то особо не забалуешь. А есть чипы и с 4 К памяти, правда их стараются последнее время не ставить


M>>Но вообще, идея с variant'ом — не очень — появятся новые типы — надо будет variant править. Не очень как-то

AG>
AG>Ну почему же?
AG>Сведи весь обмен (клиент<-->сервер) к POD типам и — вперёд!

Ну, таки либо variant всё время расширять, либо вообще с ним не заморачиватся, а самому по месту кастить


AG>P.S. Есть VARIANT в COM архитектуре MS Windows:

AG>https://docs.microsoft.com/en-us/windows/desktop/winauto/variant-structure
AG>но я так понимаю, что ты влезать в это не будешь...


Да знаю я про это, но вообще не в кассу
Маньяк Робокряк колесит по городу
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.