Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ linux-在多处理器系统上以微秒精度打印当前时间_C++_Linux - Fatal编程技术网

C++ linux-在多处理器系统上以微秒精度打印当前时间

C++ linux-在多处理器系统上以微秒精度打印当前时间,c++,linux,C++,Linux,如何以微秒(或更好的纳秒)精度打印当前系统时间?我需要这段时间在所有系统处理器之间保持一致。如果这是不可能的,我希望它在所有处理器核心之间保持一致 我试过使用clock\u gettime(clock\u REALTIME),但我怀疑它至少在不同的处理器上运行时会产生不同的结果。听起来我真正想要的是clock\u单调的原始(或者只是clock\u单调的)。原始时钟测量从固定点开始的时间,并查询纯硬件时钟。在Linux上,此固定时间点是启动时间。系统时间的更改不会影响此时钟(夏季/冬季等) 您可以

如何以微秒(或更好的纳秒)精度打印当前系统时间?我需要这段时间在所有系统处理器之间保持一致。如果这是不可能的,我希望它在所有处理器核心之间保持一致


我试过使用clock\u gettime(clock\u REALTIME),但我怀疑它至少在不同的处理器上运行时会产生不同的结果。

听起来我真正想要的是
clock\u单调的原始
(或者只是
clock\u单调的
)。原始时钟测量从固定点开始的时间,并查询纯硬件时钟。在Linux上,此固定时间点是启动时间。系统时间的更改不会影响此时钟(夏季/冬季等)

您可以通过调用
clock\u getres(clockid\t clk\u id,struct timespec*res);

gettime
getres
都采用timespec结构,其中包含两个整数:秒和纳秒。因此,软件就在那里,您只需要一个能够提供纳秒分辨率的(硬件)时钟

两个功能的手册页:

&


如果您可以访问Michael Kerrisk的《Linux编程接口》一书,请参阅第23章第5段(POSIX时钟).说到基本的Linux编程,这本书给了我比StackOverflow更多的答案!

检查。看看高分辨率时钟在不同的物理过程中是否工作?什么是更好的感受低延迟要求-高结果时钟或时钟gettime或gettimeofday?更重要的是阅读是它的保证吗teed,CLOCK_monotional_RAW可以在物理处理器之间使用?单调时钟是用于系统的。因此,我的理解是,无论有多少个内核,它们之间的时间都是相同的。这个问题也得到了回答:。