Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> задержка в милисекундах. 
:(
    Опции темы
Mal Hack
Дата 26.2.2008, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 2
Всего: 261



Доброе время суток...
В программе надо в потоке pthread реализовать задержку в 0.01 секунды, дабы надо опрашивать устройство с частотой 100 Гц...
В Qt, делаю через msleep(), а тут - никак... Нужен кросплатформенный вариант, как в win, так и на линукс системах, на С/С++, т.е. без использования того же Qt. sleep(), в линуксе, зараза, воспринимает только int'ы...
PM ICQ   Вверх
bsa
Дата 26.2.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



usleep, nanosleep. Если завернуть в макрос (т.к. в Windows Sleep() ), то можно использовать кроссплатформенно. smile
PM   Вверх
Mal Hack
Дата 27.2.2008, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 2
Всего: 261



bsa, спасибо, usleep - помог... Вопрос в том, а это что? т.е. из какой либы? Или это грубо говоря вызов линуксовой утилиты usleep и под виндой пахать не будет...
PM ICQ   Вверх
Mayk
Дата 27.2.2008, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(Mal Hack @  27.2.2008,  04:17 Найти цитируемый пост)
Вопрос в том, а это что? т.е. из какой либы? И

это стандартная ф-ция, по крайне мере в sus2 она уже была ( о чём однозначно и не двусмысленно сообщает соответствующий man page )

Цитата(Mal Hack @  27.2.2008,  04:17 Найти цитируемый пост)
Или это грубо говоря вызов линуксовой утилиты usleep

Не стоит путать причины и следствия. Как это ни парадоксально, но шанс того что утилита вызывает одноименную ф-цию выше, чем шанс того что ф-ция создаёт новый процесс и запускает одноименную программу которая каким-то неведомым магическим  smile способом тормозит систему.


Цитата(Mal Hack @  27.2.2008,  04:17 Найти цитируемый пост)
под виндой пахать не будет... 

сказали же уже

Цитата(bsa @  27.2.2008,  03:17 Найти цитируемый пост)
Если завернуть в макрос (т.к. в Windows Sleep() ), то можно использовать кроссплатформенно

читать: в windows нет unix'овской ф-ции usleep.

Цитата(bsa @  27.2.2008,  03:17 Найти цитируемый пост)
Если завернуть в макрос (т.к. в Windows Sleep() ), то можно использовать кроссплатформенно.

читать: сделать макрос который в винде разворачивается в Sleep, а в юникс в usleep.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Denjs
Дата 4.3.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



у меня задержка аналогично как и Mayk предлагает сделано :
Код

//================================================================
//    спать в милисекундах в зависимости от ОС.
char t_abstractlink_otpd::SleepMS( unsigned int time)
{
    // Linux:
    #if defined (Q_WS_X11) 
            usleep(time*1000);//sleep in millisecinds 
    // Win:
    #elif defined (Q_WS_WIN)
            Sleep(time);
    // Mac:
    #elif defined (Q_WS_MAC)
            // NOT SUPPORTED THIS VERSION 
    #else
            // NOT SUPPORTED THIS VERSION 
    #endif
    return 0;
};



Это сообщение отредактировал(а) Denjs - 4.3.2008, 11:43
PM MAIL   Вверх
andrew_121
Дата 4.3.2008, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Качни исходники "WINE" - http://ibiblio.org/pub/linux/system/emulat...-0.9.56.tar.bz2 там есть, самому нужно было.
А если уж занимаешься кроссплатформеностью, обязательно качни, незаменимая либа.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
bsa
Дата 5.3.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



andrew_121, зачем Wine? Есть кросплатформенные библиотеки, которые реализуют все необходимое (STL, boost, qt, gtk...)
PM   Вверх
andrew_121
Дата 5.3.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Потому-что Wine - реализация Win32Api, а не наоборот.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
bsa
Дата 5.3.2008, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(andrew_121 @ 5.3.2008,  15:42)
Потому-что Wine - реализация Win32Api, а не наоборот.

Зачем кроссплатформенной программе Win32Api?!?  smile 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0545 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.