[Linux-Biella] nanosecond c++ e linux

Daniele (Mastro) daniele.bilug a gmail.com
Ven 11 Apr 2008 13:00:44 CEST


Daniele (Mastro) ha scritto:
> i nanosecondi sono sempre meno di 1 miliardo..
> il che significa che se io faccio
> 
> secondi * 1 miliardo + nanosecondi ottengo il classico timestamp a 64bit...

confermo per le generazioni future:

// nanoseconds_example.cpp

#include <iostream>
#include <ctime>

int main()
{
	struct timespec time0;
	
	clock_gettime(CLOCK_REALTIME, &time0);
	
	// time0.tv_sec seconds
	// time0.tv_nsec nanosecond (always less then 1000000000 = 1 sec)
	
	long long timestamp = (long long) time0.tv_sec * (long long) 1000000000 
+ (long long) time0.tv_nsec;

	std::cout << "Nanoseconds: " << timestamp << std::endl;

	return 0;
}


// ---

g++ nanoseconds_example.cpp -o nanoseconds_example
./nanoseconds_example

echo enjoy

-- 
Iscritto alla ML del BiLUG da Lun 27 Mar 2006 21:39:26 CEST
Utilizzatore di Linux dal Luglio 2006

blog: http://natonelbronx.wordpress.com/
Daniele


Maggiori informazioni sulla lista Linux