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 | + | 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 " | + | 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() | |
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 | |
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