Conoscere la risoluzione dei clock hardware con le risorse esterne dichiarate nel file header "time.h"

Da Gambas-it.org - Wikipedia.
Versione del 4 set 2022 alle 14:56 di Vuott (Discussione | contributi) (Creata pagina con "Con alcune risorse esterne, scritte in C e dichiarate nei file header "''/usr/include/time.h'' " e "''/usr/include/linux/time.h'' ", è possibile conoscere la risoluzione di a...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Con alcune risorse esterne, scritte in C e dichiarate nei file header "/usr/include/time.h " e "/usr/include/linux/time.h ", è possibile conoscere la risoluzione di alcuni tipi di clock hardware.

E' necessario avere installata nel proprio sistema e richiamata in gambas la libreria condivisa: "libboost_date_time.so.1.71.0 ".

Mostriamo un semplice esempio:

Library "libboost_date_time:1.71.0"

Private Enum CLOCK_REALTIME = 0, CLOCK_MONOTONIC, CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID, CLOCK_MONOTONIC_RAW,
             CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC_COARSE, CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM, CLOCK_BOOTTIME_ALARM

Public Struct timespec
  tv_sec As Long          ' Secondi
  tv_nsec As Long         ' Nanosecondi
End Struct
 
' int clock_getres (clockid_t __clock_id, struct timespec *__res)
' Get resolution of clock CLOCK_ID.
Private Extern clock_getres(__clock_id As Integer, __res As Timespec) As Integer


Public Sub Main()
 
 Dim spec As New Timespec

 clock_getres(CLOCK_REALTIME, spec)
 Print "CLOCK_REALTIME:            sec. "; spec.tv_sec; "   ns "; spec.tv_nsec
 
 clock_getres(CLOCK_MONOTONIC, spec)
 Print "CLOCK_MONOTONIC:           sec. "; spec.tv_sec; "   ns "; spec.tv_nsec
  
 clock_getres(CLOCK_MONOTONIC_RAW, spec)
 Print "CLOCK_MONOTONIC_RAW:       sec. "; spec.tv_sec; "   ns "; spec.tv_nsec
  
 clock_getres(CLOCK_PROCESS_CPUTIME_ID, spec)
 Print "CLOCK_PROCESS_CPUTIME_ID:  sec. "; spec.tv_sec; "   ns "; spec.tv_nsec
  
 clock_getres(CLOCK_THREAD_CPUTIME_ID, spec)
 Print "CLOCK_THREAD_CPUTIME_ID:   sec. "; spec.tv_sec; "   ns "; spec.tv_nsec
 
End


Riferimenti