Size: a a a

2021 June 17

v

vyacheslav@deepin:~$ in Qt
@anatolijs а с std приколами сталкивался?
/home/dev/android/ndk/21.3.6528147/sources/cxx-stl/llvm-libc++/include/cmath:319: error: no member named 'isfinite' in the global namespace
In file included from /home/dev/android/ndk/21.3.6528147/sources/cxx-stl/llvm-libc++/include/random:1637:
/home/dev/android/ndk/21.3.6528147/sources/cxx-stl/llvm-libc++/include/cmath:319:9: error: no member named 'isfinite' in the global namespace
using ::isfinite;
     ~~^
источник

AS

Anatoly Shirokov in Qt
нет
источник

SK

Stas Koynov in Qt
Есть ли разница между:
~SomeClass() = delete;
vs
~SomeClass(){}

ибо есть такое:
~SomeClass() 
{
   if constexpr(expr)
   {
       //bla bla
   }
}

получим, что если expr == false мы получим пустой деструктор.
источник

SK

Stas Koynov in Qt
класс шаблонный если это важно. тобишь все в хедере. просто я не смог найти есть ли разница для деструктора который явно = delete и просто пустым.
источник

D

Dmitriy in Qt
Вопрос странный, мягко говоря. delete и пустой - совершенно не одно и то же
источник

SK

Stas Koynov in Qt
ну если = delete я явно не смогу вызвать delete. а если все будет на автомате происходить. то будет ли разница?
источник

D

Dmitriy in Qt
источник

D

Dmitriy in Qt
Раскомментируйте строку
источник

SK

Stas Koynov in Qt
хмм а слона то я и не приметил. спасибо
источник

V

Vladimir in Qt
Добрый день!
Кто работал с SerialPort, подскажите, пожалуйста.
Буду приложение на Windows делать.
Нужно вычитывать данные с 7ми COM портов.

Правильно понимаю, что могу сделать 7 объектов serialport в 7 отдельных std::thread и вычитывать их асинхронно работы приложения в какие-нибудь свои вектора.

То есть, чтобы GUI приложения не зависал. И данные постоянно капали.
Какие-нибудь, наверное 7 очередей на condition_variable сделать.
источник

v

vyacheslav@deepin:~$ in Qt
просто 7 классов, каждый move_to_thread, каждый собирает какое-то необходимое кол-во данных и эмитит сигнал с собранной строкой
источник

v

vyacheslav@deepin:~$ in Qt
зачем стдшные треды
источник

АТ

Андрей Тарасенко... in Qt
QSerialPort не блокирующий. можно и без потоков.
просто создать 7 соединений и реагировать на редирид сигнал
источник

m

mefest in Qt
сигнал-слоты и так дают асинхронную работу
источник

v

vyacheslav@deepin:~$ in Qt
ну я слышал, что сериал блочит юи поток
источник

АТ

Андрей Тарасенко... in Qt
тогда небылоб сигналов в этом классе, а два блокирующих метода реад/врайт
источник

m

mefest in Qt
надо смотреть как написано.
сам обработчик сигнала readyRead конечно выполняется в текущем потоке, но если просто прочитать данные и куда то положить это не должно быть критичным.
если данные надо как то обрабатывать и это трудоемко то хорошо бы это делать не в main потоке
источник

v

vyacheslav@deepin:~$ in Qt
а если поток непрерывный?
источник

v

vyacheslav@deepin:~$ in Qt
осцилограф, например
источник

АТ

Андрей Тарасенко... in Qt
QSerialPort provides a set of functions that suspend the calling thread until certain signals are emitted. These functions can be used to implement blocking serial ports:

   waitForReadyRead() blocks calls until new data is available for reading.
   waitForBytesWritten() blocks calls until one payload of data has been written to the serial port.

т.е. блочится когда только ты сам очень этого захочешь
источник