Size: a a a

2021 February 28

DK

David Kravets in supapro.cxx
Aidar Fattakhov
Так и чего что это сишная функция?
А как он деструктор вызовет ?
источник

AF

Aidar Fattakhov in supapro.cxx
Эта сишная функция нормально разрушает объекты со static иди thread local storage duration
источник

AF

Aidar Fattakhov in supapro.cxx
Она факапит только разворачивание стека
источник

DK

David Kravets in supapro.cxx
Aidar Fattakhov
Она факапит только разворачивание стека
функции exit() осуществляет очистку буфе­ров файлов, закрывает все открытые файлы и затем вызывает зарегистрированные с помощью функции atexit() терминальные функции.
источник
2021 March 01

FS

Flower Surgeon in supapro.cxx
Aidar Fattakhov
А exit - какой-то булщит, потомучто нормально деструкторы не вызывает всеравно
Всё он вызывает.
источник

FS

Flower Surgeon in supapro.cxx
Вру, не вызывает.
источник

FS

Flower Surgeon in supapro.cxx
Почему я столько времени жил в самообмане? 🤔
источник

МВ

Макс Воробьев... in supapro.cxx
может немного  не туда, но как на лине отличить подключаемые serial порты?
сейчас ищу след образом - проверяю все папки в /sys/class/tty и если папка содержит файл device - добавляю в результат
    std::vector<Device> devices;
   std::filesystem::path syspath(SYSTEM_CLASS_PATH);
   std::filesystem::path dev_path(DEV_PATH);
   for (auto dir: std::filesystem::directory_iterator(syspath))
   {
       if (dir.is_directory()) {
           std::filesystem::directory_entry device_link(dir.path() / "device");
           if (device_link.exists()) {
               auto p = dir.path();
               auto name = p.filename();
               auto serial_path = dev_path / name;
               std::filesystem::directory_entry serial(serial_path);
               if (serial.exists()) devices.emplace_back(serial_path.string(), std::move(name));
           }
       }
   }
   return devices;
данное решение выдает ttyS* и ttyUSB*.
источник

СА

Сергей Азаров... in supapro.cxx
Всем привет, посоветуйте пожалуйста книженцию по паттернам программирования, чтобы после прочтения можно было использовать как справочник
источник

FS

Flower Surgeon in supapro.cxx
Сергей Азаров
Всем привет, посоветуйте пожалуйста книженцию по паттернам программирования, чтобы после прочтения можно было использовать как справочник
классику от банды четырёх почитай
источник

МВ

Макс Воробьев... in supapro.cxx
Макс Воробьев
может немного  не туда, но как на лине отличить подключаемые serial порты?
сейчас ищу след образом - проверяю все папки в /sys/class/tty и если папка содержит файл device - добавляю в результат
    std::vector<Device> devices;
   std::filesystem::path syspath(SYSTEM_CLASS_PATH);
   std::filesystem::path dev_path(DEV_PATH);
   for (auto dir: std::filesystem::directory_iterator(syspath))
   {
       if (dir.is_directory()) {
           std::filesystem::directory_entry device_link(dir.path() / "device");
           if (device_link.exists()) {
               auto p = dir.path();
               auto name = p.filename();
               auto serial_path = dev_path / name;
               std::filesystem::directory_entry serial(serial_path);
               if (serial.exists()) devices.emplace_back(serial_path.string(), std::move(name));
           }
       }
   }
   return devices;
данное решение выдает ttyS* и ttyUSB*.
а ладно. пойду внутрянку qt копать
источник

СА

Сергей Азаров... in supapro.cxx
Flower Surgeon
классику от банды четырёх почитай
Спасибо)
источник

МВ

Макс Воробьев... in supapro.cxx
источник

FS

Flower Surgeon in supapro.cxx
источник

FS

Flower Surgeon in supapro.cxx
А вообще, всё правильно делаешь, по идее.
источник

МВ

Макс Воробьев... in supapro.cxx
Flower Surgeon
А вообще, всё правильно делаешь, по идее.
думал, может можно какую-нибудь еще инфу по девайсу достать
источник

q

qwerty in supapro.cxx
насколько нормально делать в дочерних классах что-то типа  
static std::size_t nextID;

а в базовом абстрактном просто сделать:
std::size_t ID;

и потом в конструкторах самих дочерних делать что-то типа:
ID = nextID++;
источник

МВ

Макс Воробьев... in supapro.cxx
qwerty
насколько нормально делать в дочерних классах что-то типа  
static std::size_t nextID;

а в базовом абстрактном просто сделать:
std::size_t ID;

и потом в конструкторах самих дочерних делать что-то типа:
ID = nextID++;
в базовом классе сделай static last id и поле id. в конструкторе базового класса - id = last_id++; в чайлдах - вызови конструктор парента
источник

МВ

Макс Воробьев... in supapro.cxx
qwerty
насколько нормально делать в дочерних классах что-то типа  
static std::size_t nextID;

а в базовом абстрактном просто сделать:
std::size_t ID;

и потом в конструкторах самих дочерних делать что-то типа:
ID = nextID++;
а зачем, если не секрет?
источник

МВ

Макс Воробьев... in supapro.cxx
и что будет, если id освободится (объект имеющий определенный id - удален) ?
источник