IT TIP

GCC의 std :: put_time 구현 상태?

itqueen 2020. 11. 24. 20:44
반응형

GCC의 std :: put_time 구현 상태?


GCC (테스트 버전 4.5.1, 4.6.3, 4.8.4) 를 사용 하여이 예제 프로그램 을 컴파일하려고했습니다 .

#include <iostream>
#include <iomanip>
#include <ctime>
#include <chrono>

using std::chrono::system_clock;

int main()
{
    system_clock::time_point now = system_clock::now();
    std::time_t now_c = system_clock::to_time_t(
                            now - std::chrono::hours(24));
    std::cout << "One day ago, the time was "
              << std::put_time(std::localtime(&now_c), "%F %T") << '\n';
}

그러나 그것은 나에게 말한다 :

prog.cpp: In function 'int main()':
prog.cpp:14:18: error: 'put_time' is not a member of 'std'

아마 아직 구현되지 않았을 것이라고 생각했습니다. 그래서이 기능의 구현 상태를 확인하려고했습니다. 이 페이지 만 찾았습니다.

하지만 난에 어떤 참고가 찾을 수 없습니다 put_time또는 chrono또는 모두. 누구든지이 라이브러리의 구현 상태에 대한 정보를 제공하는 리소스를 알려줄 수 있습니까?


gcc 4.8.0의 경우 TODO 확장 iomanip 조작기 std :: get_time 및 std :: put_time참조하십시오 .

시간을 얻는 크로스 플랫폼 방법을 참조하십시오 . 4.7.0에서 구현되지 않았다고 주장합니다.


업데이트 : gcc 개발자 Jonathan Wakely가 아래에서 확인 했듯이 : std::get_timestd::put_time조작자는 여전히 gcc 4.9에서 누락되었습니다.


업데이트 : Jonathan Wakely 는 2014 년 12 월 22 일에이 티켓을 마감 했습니다.

GCC 5에 대해 수정 됨

알려 주셔서 감사합니다 simonwo .


당신이 제공 한 링크 가 도서관의 어떤 부분도 나열하지 않는다는 것을 눈치 챘을 것입니다 ! 하지만 표 아래에는

라이브러리 구현 상태는이 에서 추적 할 수 있습니다.

이 표는 std::get_timestd::put_time조작자가 아직 구현되지 않았 음을 나타냅니다.

편집 : put_time이제 GCC 개발 트렁크에 있습니다.

참고 URL : https://stackoverflow.com/questions/14136833/stdput-time-implementation-status-in-gcc

반응형