Ich erforsche hochpräzise Zeitfunktionen in C stieß ich auf clock_gettime und las darüber hier:Wie kann Code geschrieben werden, damit Bibliotheken in C nicht aufgerufen werden müssen?
http://man7.org/linux/man-pages/man2/clock_gettime.2.html
Ich stelle fest, es sagt:
Link with -lrt (only for glibc versions before 2.17).
ich, warum frage ich mich, kann Verwenden Sie Zeitfunktionen mit niedrigerer Genauigkeit, ohne etwas zu meiner gcc-Kompilierzeile hinzufügen zu müssen? Gibt es eine Möglichkeit für mich, den Hochpräzisionscode anders zu verwenden, sodass ich nichts in meiner Kompilierzeile hinzufügen muss?
Ich verstehe, dass mein System eine alte ... alte Version von glibc verwendet, weshalb ich dies in meinem Fall tun muss, aber ich bitte für diejenigen (wie mich), die sind glibc konnte nicht aktualisiert werden.
-Code in progress:
#include <stdio.h>
#include <time.h>
int main(int argc, char **argv)
{
int result;
struct timespec tp;
clockid_t clk_id;
// clk_id = CLOCK_REALTIME;
clk_id = CLOCK_MONOTONIC;
// clk_id = CLOCK_BOOTTIME;
// clk_id = CLOCK_PROCESS_CPUTIME_ID;
// int clock_gettime(clockid_t clk_id, struct timespec *tp);
result = clock_gettime(clk_id, &tp);
printf("result: %i\n", result);
printf("tp.tv_sec: %lld\n", tp.tv_sec);
printf("tp.tv_nsec: %ld\n", tp.tv_nsec);
result = clock_getres(clk_id, &tp);
printf("result: %i\n", result);
printf("tp.tv_sec: %lld\n", tp.tv_sec);
printf("tp.tv_nsec: %ld\n", tp.tv_nsec);
}
Wäre es nicht logisch, dass Sie Ihre glibc-Version veröffentlichen sollten? – djechlin
Ich bin mir eigentlich nicht sicher, ob ich das aus arbeitsbedingten Gründen kann, aber weiß, dass es älter ist als 2.17. Würde diese Information Einfluss darauf haben, wie Code neu geschrieben werden sollte? – Volumetricsteve