Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/37: Рейтинг темы: голосов - 37, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57

Как вызвать метод из статической функции?

20.02.2022, 22:15. Показов 7759. Ответов 72
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Запускаю таймер:
C++
1
2
3
4
5
6
7
8
9
10
   struct sigaction sa;
   struct itimerval timer;
   memset(&sa, 0, sizeof(sa));
   sa.sa_handler = &StartTimer;
   sigaction(SIGALRM, &sa, NULL);
   timer.it_value.tv_sec = 0;
   timer.it_value.tv_usec = 25000;
   timer.it_interval.tv_sec = 0;
   timer.it_interval.tv_usec = 25000;
   setitimer(ITIMER_REAL, &timer, NULL);
Функция StartTimer может быть статической либо объявлена вне класса. Как из StartTimer мне можно вызвать метод класса?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.02.2022, 22:15
Ответы с готовыми решениями:

Как вызвать метод класса из static функции
Есть класс, 1 из функции которого создает поток на статичную функцию этого же класса, а эта статичная функция вызывает уже не статичную...

Как вызвать переопределить метод из дочернего класса так, чтобы выполнялись еще функции в родительском
У меня структура такова: Интерфейс IKey (Содержит void Open) public interface IKey { public void Open(); } Есть...

Объявление статической переменной и статической функции в классе
Добрый вечер, столкнулся с проблемой и не могу решить. Есть класс SavingsAccount и в нем объявлена статическая переменная для процентной...

72
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
07.03.2022, 11:44  [ТС]
Студворк — интернет-сервис помощи студентам
из-за статической фунции?
0
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
07.03.2022, 12:00
Цитата Сообщение от Vlad_V9 Посмотреть сообщение
из-за статической фунции?
Не столько. Вот понадобится вам второй порт. Как вы его создадите?
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
07.03.2022, 12:04  [ТС]
Создам второй объект класса.
0
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
07.03.2022, 12:15
Ну и что случится с указателем на первый порт?
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
07.03.2022, 13:05  [ТС]
Не понимаю. Вы про это?,
C++
1
m_fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NONBLOCK);
0
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
07.03.2022, 13:39
Цитата Сообщение от Vlad_V9 Посмотреть сообщение
Не понимаю. Вы про это?
Нет. Вот про это:
C++
1
adress = this;
Когда создадите новый порт, ссылка на первый затрётся новым значением.
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
07.03.2022, 13:44  [ТС]
Да я думал об этом. Если использовать массив адресов, и адреса объектов хранить в массиве?
0
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
07.03.2022, 13:56
Цитата Сообщение от Vlad_V9 Посмотреть сообщение
Если использовать массив адресов, и адреса объектов хранить в массиве?
А как определить, когда возникает событиые прихода данных, с какого порта они пришли?

Добавлено через 9 минут
Но вообще, "узкое место" здесь - это глобальная функция-коллбэк для чтения. Я так и не понял, почему без неё нельзя.
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
07.03.2022, 13:59  [ТС]
А как без нее?
boost::asio у меня чтение не пошло поэтому вернулся к этому варианту.
0
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
07.03.2022, 14:11
Цитата Сообщение от Vlad_V9 Посмотреть сообщение
поэтому вернулся к этому варианту
Это в котором чтение порта по таймеру?
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
07.03.2022, 14:15  [ТС]
Практически да. Только теперь вместо таймера сигнал.
0
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
07.03.2022, 14:19
Цитата Сообщение от Vlad_V9 Посмотреть сообщение
Только теперь вместо таймера сигнал.
Какой сигнал?
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
07.03.2022, 17:10  [ТС]
Сигнал поступления данных в порт.
C++
1
2
3
4
5
6
7
8
9
10
m_saio.sa_handler = signal_handler_IO;
        sigemptyset (&m_saio.sa_mask);
        m_saio.sa_flags = 0;
        m_saio.sa_restorer = NULL;
        sigaction(SIGIO,&m_saio,NULL);
        /* разрешаем процессу получать SIGIO  */
        fcntl(m_fd, F_SETOWN, getpid());
        /* делаем файловый дескриптор асинхронным (страница руководства говорит, что только O_APPEND и O_NONBLOCK будут работать
          с F_SETFL...) */
        fcntl(m_fd, F_SETFL, FASYNC);
C++
1
struct sigaction m_saio;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2022, 17:10

Как вызвать метод info в метод Main и с какими параметрами?
я новичок в C#, так что не судите строго.. Я не думаю что это кому-то покажется сложным, но у меня вызывает дикий ступор(( using...

Метод main и как им вызвать другой метод
Доброго всем времени суток. У меня возникла проблема. Вобщем дело такое. У меня есть тестовый класс Test, в котором существует 4 метода:...

Шаблоны: определить класс в функции и вызвать его метод
Здравствуйте форумчане. Есть два класса: class WSelectionBox { public: WSelectionBox() = default; ...

Как мне вызвать переменную находящуюся в функции Thread3() из функции main(), находящейся в функции Thread2()
Вот код: from DataBase_0_2_0 import * import json import pyttsx3 import os import sys import speech_recognition as sr ...

Как присвоить адрес статической typedefined функции?
Дано: class NCodeHook { //.. template <typename ArchT> template <typename U> U NCodeHook<ArchT>::createHook(U...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
73
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru