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

chrono из нового стандарта - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
08.04.2012, 17:58     chrono из нового стандарта #1
Кто-нибудь chrono из C++11 уже реализовал?

C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <chrono>
#include <thread>
 
int main ()
{
    std::chrono::milliseconds  t (2000);
    std::this_thread::sleep_for (t);
}
Добавлено через 39 секунд
Точнее, sleep_for, но он в качестве аргумента как раз chrono и принимает.

Добавлено через 18 часов 31 минуту
Неужели никто не знает ничего подобного?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.04.2012, 18:04     chrono из нового стандарта #2
В смысле "кто-нибудь"?
В g++ 4.7 есть при флаге -D_GLIBCXX_USE_NANOSLEEP
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
08.04.2012, 18:04     chrono из нового стандарта #3
Цитата Сообщение от YourLastSong Посмотреть сообщение
Кто-нибудь chrono из C++11 уже реализовал?
Что значит реализовал? gcc поддерживает, если Вы об этом.
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
08.04.2012, 19:05  [ТС]     chrono из нового стандарта #4
Ужас. Попытался скомпилировать код:

g++ -std=c++0x -o file.exe file.cpp
на который выдало:

file.cpp: In function 'int main(int, char**)':
file.cpp:52:15: error: 'thread' is not a member of 'std'
file.cpp:52:15: error: 'thread' is not a member of 'std'
file.cpp:52:26: error: template argument 1 is invalid
file.cpp:52:26: error: template argument 2 is invalid
file.cpp:52:34: error: invalid type in declaration before ';' token
file.cpp:59:10: error: request for member 'push_back' in 'th_vec', which is of n
on-class type 'int'
file.cpp:59:21: error: 'thread' is not a member of 'std'
file.cpp:62:18: error: no matching function for call to 'begin(int&)'
file.cpp:62:18: note: candidates are:
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/initializer_list:
86:38: note: template<class _Tp> constexpr const _Tp* std::begin(std::initialize
r_list<_Tp>)
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/range_access
.h:87:28: note: template<class _Tp, long long unsigned int _Nm> _Tp* std::begin(
_Tp (&)[_Nm])
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/range_access
.h:58:63: note: template<class _Container> decltype (__cont.begin()) std::begin(
const _Container&)
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/range_access
.h:48:57: note: template<class _Container> decltype (__cont.begin()) std::begin(
_Container&)
file.cpp:62:18: error: no matching function for call to 'end(int&)'
file.cpp:62:18: note: candidates are:
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/initializer_list:
96:36: note: template<class _Tp> constexpr const _Tp* std::end(std::initializer_
list<_Tp>)
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/range_access
.h:97:26: note: template<class _Tp, long long unsigned int _Nm> _Tp* std::end(_T
p (&)[_Nm])
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/range_access
.h:78:59: note: template<class _Container> decltype (__cont.end()) std::end(cons
t _Container&)
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/range_access
.h:68:53: note: template<class _Container> decltype (__cont.end()) std::end(_Con
tainer&)
file.cpp:62:18: error: unable to deduce 'auto&' from '<expression error>'
g++ v. 4.6.1 даже std::thread не поддерживает ещё?
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
09.04.2012, 08:23     chrono из нового стандарта #5
Цитата Сообщение от YourLastSong Посмотреть сообщение
g++ v. 4.6.1 даже std::thread не поддерживает ещё?
Так то под windows. Это многое объясняет. Где-то я слышал, что при сборке mingw отключен флаг _GLIBCXX_HAS_GTHREADS, т.к. были проблемы с реализацие pthread_mutex_timedlock. Проверь у себя этот флаг, чтобы знать точно.

Тебе надо либо достать поновее версию (возможно там уже решили проблему), либо использовать другую сборку. Можешь попробовать от нашего чудодея niXman Сборки MinGW(GCC-win32/win64) от niXman
Yandex
Объявления
09.04.2012, 08:23     chrono из нового стандарта
Ответ Создать тему
Опции темы

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