Fungsi Pemasa dalam C untuk Ketepatan Nanosaat
Apabila menetapkan masa pelaksanaan fungsi API dalam C , fungsi jam() terbina dalam pada mulanya mengira masa berlalu dalam saat. Untuk mendapatkan ukuran yang lebih tepat dalam nanosaat, kita perlu menyelidiki mekanisme penyimpanan masa khusus platform.
Linux dan BSD
Untuk sistem pengendalian Linux dan BSD, clock_gettime() adalah yang disyorkan kaedah:
#include <sys/time.h> int main() { timespec ts; // For Linux, use: clock_gettime(CLOCK_REALTIME, &ts); // For FreeBSD, use: clock_gettime(CLOCK_MONOTONIC, &ts); }
Windows
Windows menawarkan fungsi QueryPerformanceCounter:
#include <windows.h> int main() { LARGE_INTEGER ts; QueryPerformanceCounter(&ts); }
Pertimbangan Ketepatan dan Ketepatan
Walaupun QueryPerformanceCounter menyediakan peleraian yang lebih tinggi, ia mempunyai had tertentu:
Windows 7 dan versi terkemudian cuba menangani isu ini dengan mengesan pemproses dengan TSC (Pembilang Setem Masa) invarian dan menggunakan pemasa luaran apabila perlu.
Sumber Tambahan
Untuk maklumat lanjut dan penyelesaian masalah, rujuk tambahan ini artikel:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Masa Ketepatan Nanosaat dalam C Merentas Sistem Operasi Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!