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

Da Gambas-it.org - Wikipedia.
(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...")
 
 
Riga 1: Riga 1:
 
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.
 
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'' ".
+
E' necessario avere installata nel proprio sistema e richiamata in Gambas la libreria condivisa: "''libc.so.6'' ".
  
 
Mostriamo un semplice esempio:
 
Mostriamo un semplice esempio:
  Library "libboost_date_time:1.71.0"
+
  Library "libc:6"
 
   
 
   
 
  Private Enum CLOCK_REALTIME = 0, CLOCK_MONOTONIC, CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID, CLOCK_MONOTONIC_RAW,
 
  Private Enum CLOCK_REALTIME = 0, CLOCK_MONOTONIC, CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID, CLOCK_MONOTONIC_RAW,
Riga 19: Riga 19:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
 
   Dim spec As New Timespec
 
   Dim spec As New Timespec
Riga 38: Riga 38:
 
   Print "CLOCK_THREAD_CPUTIME_ID:  sec. "; spec.tv_sec; "  ns "; spec.tv_nsec
 
   Print "CLOCK_THREAD_CPUTIME_ID:  sec. "; spec.tv_sec; "  ns "; spec.tv_nsec
 
    
 
    
  '''End'''
+
  End
  
  

Versione attuale delle 21:13, 7 giu 2023

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: "libc.so.6 ".

Mostriamo un semplice esempio:

Library "libc:6"

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