相关疑难解决方法(0)

以c ++(windows)编程方式获取系统启动时间

很简单,问题是如何使用c/c ++在Windows中启动系统启动时间.

搜索这个没有得到任何答案,我只找到了一个非常hacky的方法,即读取文件时间戳(不用说,我放弃了中途阅读).

我发现的另一种方法实际上是读取Windows诊断记录的事件?据说那是最后一次启动时间.

有谁知道怎么做(希望不是太多丑陋的黑客)?

c c++ windows

12
推荐指数
2
解决办法
1万
查看次数

OSX:以编程方式获得正常运行时间?

类似于linux的东西

cat /proc/uptime
Run Code Online (Sandbox Code Playgroud)

它以秒为单位返回正常运行时间,最好不解析正常运行时间(1).

macos uptime

11
推荐指数
2
解决办法
7649
查看次数

如何获得与系统时间无关的时差(毫秒)?

我需要在Linux上计算时间差(毫秒)(Ubuntu 14).

它需要独立于系统时间,因为应用程序可能在执行期间更改它(它根据从GPS接收的数据设置系统时间).

我检查了时钟功能,它对我们不起作用,因为它返回程序消耗的处理器时间,我们需要实时.

sysinfo(如本问题中所述)自启动后返回秒数,同样,我们需要几毫秒.

根据我们的测试,从/ proc/uptime读取(如本问题中所述)似乎很慢(考虑到我们需要毫秒并重复调用此函数).

我们可以使用C++ 11,但我认为std :: chrono也与系统时间有关(如果我错了,请纠正我).

有没有其他方法可以实现这一目标?


我们的性能测试(用于/ proc /正常运行时间比较),100万次重复呼叫:

gettimeofday的:

(不是我们需要的,因为它取决于系统时间)

#include <sys/time.h>

unsigned int GetMs(){
    unsigned int ret = 0;
    timeval ts;
    gettimeofday(&ts,0);
    static long long inici = 0;
    if (inici==0){
        inici = ts.tv_sec;
    }
    ts.tv_sec -= inici;
    ret = (ts.tv_sec*1000 + (ts.tv_usec/1000));
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

时钟:

(无效,返回应用程序使用的刻度,而不是实时)

#include <time.h>
unsigned int GetMs(){
    unsigned int ret = 0;
    clock_t t;
    t = clock();
    ret = t / …
Run Code Online (Sandbox Code Playgroud)

c++ linux

3
推荐指数
1
解决办法
671
查看次数

在 Linux 中获得毫秒或微秒精确的启动时间 (C/C++)

Linux 有没有办法获得毫秒或微秒的启动时间精度,以便将启动时间相对时间戳转换为 Unix 时间戳之类的东西?我发现的最接近的是/proc/uptime(如这个答案之类的地方所建议的),但不幸的是这只能让你达到 10ms 精度的最佳情况。就上下文而言,我有一个与 v4l 一起使用的相机,它提供微秒精度的时间戳,但它们自启动以来都是及时的。当它们被发送到另一台计算机时,我需要将它们转换为 Unix 时间戳。以某种我不知道的方式提供这件事是否很难?如果是这样,为什么这么多事情要使用启动后的时间?

c c++ linux time

2
推荐指数
1
解决办法
1346
查看次数

在Unix系统上获得几秒或几毫秒的正常运行时间

我需要一个方法,它可以给我自系统启动以来经过的毫秒数或秒数.我可以解析/proc/uptime,但我不能失去这个I/0和解析的性能.

我正在使用Linux和C/C++.也许我可以放一些Qt/Boost,但最好是原生的东西.

c c++ unix linux

1
推荐指数
1
解决办法
6224
查看次数

标签 统计

c++ ×4

c ×3

linux ×3

macos ×1

time ×1

unix ×1

uptime ×1

windows ×1