sách gpt4 ăn đã đi

linux - Gettimeofday() có được đảm bảo có độ phân giải micro giây không?

In lại Tác giả: IT Lão Cao Thời gian cập nhật: 28-10-2023 12:24:32 25 4
mua khóa gpt4 giày nike

Tôi đang chuyển một trò chơi ban đầu được viết cho API Win32 sang Linux (à, chuyển cổng OS X của cổng Win32 sang Linux).

Tôi đã đạt được Bộ đếm hiệu suất truy vấn, bằng cách cho uGiây sau khi quá trình bắt đầu:

BOOL QueryPerformanceCounter(LARGE_INTEGER* performanceCount)
{
lấy thời gian trong ngày(&giá trị thời gian hiện tại, NULL);
performanceCount->QuadPart = (currentTimeVal.tv_sec - startTimeVal.tv_sec);
hiệu suấtĐếm->QuadPart *= (1000 * 1000);
hiệu suấtCount->QuadPart += (currentTimeVal.tv_usec - startTimeVal.tv_usec);

trả về giá trị đúng;
}

cộng thêm Tần suất truy vấn() Với tần số không đổi là 1000000,Chạy tốt trên máy của tôi, cho tôi một cái chứa uGiây của các biến 64-bit kể từ khi khởi động chương trình

Vì thếĐây có phải là di động?Tôi không muốn phát hiện ra rằng nó hoạt động khác nếu kernel được biên dịch theo một cách nhất định hoặc đại loại như thế. Tuy nhiên, tôi không nghĩ nó có thể chuyển sang bất kỳ thứ gì khác ngoài Linux.

câu trả lời hay nhất

Có lẽ. Nhưng bạn có vấn đề lớn hơn. lấy thời gian trong ngày() Nếu có một quy trình trên hệ thống của bạn làm thay đổi bộ hẹn giờ (tức là ntpd), điều này có thể gây ra sai lệch thời gian. Tuy nhiên, trên Linux "bình thường", tôi tin rằng lấy thời gian trong ngày() Độ phân giải là 10us. Do đó, nó có thể nhảy tiến và lùi theo thời gian dựa trên các tiến trình đang chạy trên hệ thống. Điều này trả lời hiệu quả câu hỏi của bạn.

Bạn nên kiểm tra đồng hồ_lấythờigian(CLOCK_MONOTONIC) khoảng thời gian. Nó gặp ít vấn đề hơn do những thứ như hệ thống đa lõi và cài đặt đồng hồ bên ngoài.

Ngoài ra, hãy kiểm tra đồng hồ_getres() chức năng.

Về linux - gettimeofday() có được đảm bảo có độ phân giải micro giây không? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/88/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress