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

Как организовать Messenger реального времени? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка на скобки в строчном калькуляторе http://www.cyberforum.ru/cpp-beginners/thread1237549.html
Добрый день ! Нужна помощь, я в своём калькуляторе прописал многие проверки на ввод, но не могу справиться с таким примером: если человек введёт ) 3 + 5 (, то мой калькулято выдаёт 0, а нужно, чтобы выдывал сообщение об ошибке. Подскажите, как правильно прописать данную проверку ? double Calculate::Execute(const char* expression) { int length = strlen(expression); if (!length) {
C++ Ввод/вывод, метод класса Добрый день, только начал изучать c++ и сразу много всяких непонятных ошибок, в c# куда проще было =( #include <iostream> #include <string> #include <windows.h> #include <conio.h> #include "algorithm" using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread1237512.html
Удалить все пробелы в строке C++
можно ли как то с помощью метода string.replace удалить все пробелы в строке? вот так не работает :( string str("this is test string"); str.replace(" ", "");
C++ Возвращение ссылки на локальную переменную
Заметил недавно одну интересную вещь. Как вообще работает такой код? Причем коректно. int& func(); int main() { cout << func(); } int& func() { int a = 99;
C++ Что делать если нужно знести информацию в 2 разных объекта базового класса при закрытом наследование http://www.cyberforum.ru/cpp-beginners/thread1237496.html
Что делать если нужно знести информацию в 2 разных объекта базового класса при закрытом наследование? Например мне нужно держать скажем имя и проффесию в разных обьектах string.
C++ Разделить строку типа string на лексемы Есть строка string, нужно разбить её на лексемы. У меня не получается использовать strtok с типом string. подробнее

Показать сообщение отдельно
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 339
Записей в блоге: 2
02.08.2014, 15:03     Как организовать Messenger реального времени?
В ЦП есть встроенные таймеры, которые можно и из ассемблера вызвать, но не нужно, так как у них полно высокоуровневых обёрток, в том числе и в C++.
Цитата Сообщение от hVoltage Посмотреть сообщение
При переключении между потоками в рамках одного процесса, контекст не меняется
В процессоре куча регистров, кэш 1 уровня, конвейер команд, которые приходится перезагружать даже при смене потока, из-за чего происходят такие вещи как кэш-промахи и сброс конвейера команд (о смене процесса я вообще не говорю - это катастрофа для производительности). Поймите: все ваши выражения типа a = b + c и прочие операторы в ассемблере превращаются в операции с регистрами. Соответственно, даже для разных потоков в рамках одного процесса они разные и их нужно куда-то сгружать. С кэшем и командами примерно то-же. Плюс не забывайте, что ОЗУ медленнее ЦП и вся система работает слаженно только при условии, что заранее известно какие данные нужно загрузить из ОЗУ в кэш. Если Вы, вдруг, переключаетесь на другой поток, то вам нужны уже другие данные, а те, которые уже загружены в кэш не нужны.

Добавлено через 7 минут
Я имею ввиду те таймеры, которые спустя некоторое время вызывают калбек функцию. Если они реализованы за счет встроенных системных таймеров, то работать будут быстрее и, в отличие от слипа, не будут вешать поток на период ожидания. Сам я пишу на Qt поэтому сайчас так сходу не могу найти аналоги из стандартной библиотеки C++, но они там точно есть.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru