Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bmg113
201 / 147 / 5
Регистрация: 14.03.2013
Сообщений: 784
#1

Как передать ссылку на переменную по UDP? - C++

16.02.2014, 20:18. Просмотров 383. Ответов 7
Метки нет (Все метки)

Все в пределах одного компьютера.
Две программы.
Одна имеет переменную int r;
Вторая должна получить ссылку и считывать в любое время.

Через qDebug() я могу получить адрес переменной, но если записывать в поток связанный с QByteArray и отправлять то я ничего не получаю... точнее выходной qDebug() не может понять что ему выдали ( QVariant(Invalid) )

помогите решить проблему.

p.s. Есть еще такая идея, что на аппаратном уровне родной процесс не даст доступ к переменной (своей области памяти) другому процессу, правда ли эта?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2014, 20:18     Как передать ссылку на переменную по UDP?
Посмотрите здесь:

C++ Как передать ссылку на объект в класс
C++ Передать переменную в массив
Как переменную из одной функции передать в другую? C++
C++ Как передать в метод класса ссылку на экземпляр
C++ Передать ссылку на массив из одной функции во вторую
C++ А можно в функцию, или перегруженный оператор передать ссылку на копию?
Как передать в переменную класс-наследник? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2452 / 1624 / 238
Регистрация: 24.11.2012
Сообщений: 3,999
16.02.2014, 20:33     Как передать ссылку на переменную по UDP? #2
Судя по формулировке, автору нужна разделяемая память (как вариант). Ключевые слова для поиска - shared memory. В Qt должны быть средства для работы с ней.
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.02.2014, 20:39     Как передать ссылку на переменную по UDP? #3
Цитата Сообщение от Bmg113 Посмотреть сообщение
p.s. Есть еще такая идея, что на аппаратном уровне родной процесс не даст доступ к переменной (своей области памяти) другому процессу, правда ли эта?
правда, только не на аппаратном, а на уровне ОС
Bmg113
201 / 147 / 5
Регистрация: 14.03.2013
Сообщений: 784
16.02.2014, 22:44  [ТС]     Как передать ссылку на переменную по UDP? #4
Всем спасибо решил проблему.
Создал Главное окно с 2 кнопками. внутри класса главного окна создал два класса диалоговых и два потока.
Надеюсь это не самый плохой вариант

Правда выдает такие вот ошибки, но работает, странно...

C++ (Qt)
1
2
3
4
QObject::moveToThread: Widgets cannot be moved to a new thread
QObject::moveToThread: Widgets cannot be moved to a new thread
QThread: Destroyed while thread is still running
QThread: Destroyed while thread is still running
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.02.2014, 22:50     Как передать ссылку на переменную по UDP? #5
Цитата Сообщение от Bmg113 Посмотреть сообщение
Надеюсь это не самый плохой вариант
плохой ибо
Цитата Сообщение от Bmg113 Посмотреть сообщение
выдает такие вот ошибки
что вообще нужно-то?
Bmg113
201 / 147 / 5
Регистрация: 14.03.2013
Сообщений: 784
16.02.2014, 23:10  [ТС]     Как передать ссылку на переменную по UDP? #6
Цитата Сообщение от Jupiter Посмотреть сообщение
что вообще нужно-то?
Надо два процесса распараллелить.
Один генерирует данные, другой считывает и передает дальше по порциям.
Вот и думаю что бы оба в разные потоки засунуть.
Оба работают по таймеру.
И получается если в одном потоке то либо один ждет либо другой...

Добавлено через 14 минут
Цитата Сообщение от Bmg113 Посмотреть сообщение
QThread: Destroyed while thread is still running
эту ошибку получилось исправить.

C++ (Qt)
1
2
3
    
thread->quit();
thread->wait();
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.02.2014, 23:10     Как передать ссылку на переменную по UDP? #7
Цитата Сообщение от Bmg113 Посмотреть сообщение
Один генерирует данные, другой считывает и передает дальше по порциям.
конкретнее
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2014, 23:12     Как передать ссылку на переменную по UDP?
Еще ссылки по теме:

C++ Как передать в функцию ссылку на структуру?
Передать переменную из класса в класс C++
C++ Нюансы работы с лямбдами и область видимости переменных: как передать в лямбду переменную, а не её копию?
Как передать в stringstream переменную типа int? C++
Передать значения двумерного массива из функции через ссылку C++

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

Или воспользуйтесь поиском по форуму:
Bmg113
201 / 147 / 5
Регистрация: 14.03.2013
Сообщений: 784
16.02.2014, 23:12  [ТС]     Как передать ссылку на переменную по UDP? #8
Цитата Сообщение от Jupiter Посмотреть сообщение
конкретнее
Представ те что один процесс генерирует числа и через определенное время записывает их в массив, пройдя весь массив начинает сначала.
А второй процесс получив адрес массива считывает данные через определенное время.
Yandex
Объявления
16.02.2014, 23:12     Как передать ссылку на переменную по UDP?
Ответ Создать тему
Опции темы

Текущее время: 19:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru