Tôi muốn có số mili giây từ thời đại. Một giải pháp phổ biến trông giống như sau (một trong những giải pháp của câu hỏi này hỏi đây Get time since epoch in milliseconds, preferably using C++11 chrono)C++ chrono duration_cast đến mili giây cho kết quả tính bằng giây
#include <iostream>
#include <chrono>
int main() {
auto millitime = std::chrono::duration_cast<std::chrono::milliseconds>
(std::chrono::system_clock::now().time_since_epoch()).count();
std::cout << millitime << std::endl;
return 0;
}
biên dịch này với một cuộc gọi đến g++
như g++ -std=c++11 main.cpp -o timetest
kết quả ở đầu ra
1372686001
đó là tương đương với số lượng giây từ thời đại!
Đây có phải là lỗi trong glibc không? trong g ++? lỗi của tôi?
g++ (Debian 4.7.3-4) 4.7.3
ldd (Debian EGLIBC 2.17-6) 2.17
Cập nhật: nó hoạt động khi sử dụng g ++ 4.8. Vì vậy, nó là một lỗi gcc ?!
g++-4.8 (Debian 4.8.1-2) 4.8.1
Hoạt động tốt ở đây: http://coliru.stacked-crooked.com/view?id=58cbeec8ffe15b00c4c5617e5c661e44-95b421f505320e75ab053309436f3288 –
@ R.MartinhoFernandes bạn có sử dụng cùng phiên bản g ++ và glibc không? – example
Tôi đã chỉnh sửa liên kết để bao gồm đầu ra của 'g ++ -v' (là 4.8.1). Có nghĩa là nếu nó là một lỗi, nó đã được sửa. –