Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.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
Android Kmsg时间戳将来为500毫秒_Android_C++_Linux - Fatal编程技术网

Android Kmsg时间戳将来为500毫秒

Android Kmsg时间戳将来为500毫秒,android,c++,linux,Android,C++,Linux,我试图跟踪系统何时唤醒和暂停(理想情况下是在单调时间开始和停止时),以便能够准确地将单调时间戳与实时时钟关联起来 在android上,首先想到的方法是监视kmsg的唤醒消息,并使用其时间戳作为相当准确的标记。由于我不确定这个时间戳的准确性,我决定也记录当前的单调时间 以下代码在独立可执行文件中运行 while(true) { fgets(mLineBuffer, sizeof(mLineBuffer), mKmsgFile); //Find fi

我试图跟踪系统何时唤醒和暂停(理想情况下是在单调时间开始和停止时),以便能够准确地将单调时间戳与实时时钟关联起来

在android上,首先想到的方法是监视kmsg的唤醒消息,并使用其时间戳作为相当准确的标记。由于我不确定这个时间戳的准确性,我决定也记录当前的单调时间

以下代码在独立可执行文件中运行

    while(true)
    {
        fgets(mLineBuffer, sizeof(mLineBuffer), mKmsgFile);

        //Find first space
        char * messageContent = strchr(mLineBuffer,' ');
        //Offset one to get character after space
        messageContent++;

        if (strncmp (messageContent,"Enabling non-boot CPUs ...",25) == 0 )
        {
            clock_gettime(CLOCK_MONOTONIC,&mMono);
            std::cout << mLineBuffer;
            std::cout << std::to_string(mMono.tv_sec)  << "." << std::to_string(mMono.tv_nsec) << "\n";

        }

    }
while(true)
{
fgets(mLineBuffer、sizeof(mLineBuffer)、mKmsgFile);
//找到第一个空间
char*messageContent=strchr(mLineBuffer,”);
//偏移1以获得空格后的字符
messageContent++;
if(strncmp(messageContent,“启用非引导CPU…”,25)==0)
{
时钟获取时间(时钟单调,&ammono);

std::cout当输入行不包含空格时会发生什么情况?已发布的代码未处理该情况。已发布的代码是
C++
,而不是
C
。请更改标记,以便适当的人可以看到该代码。此部分字符由调用发送
cout
“\n”不正确。应该是以下字符:
endl
这两个时间戳不相关。我的建议是:不要再给它们一个时间戳thought@user3629249kmsg条目总是在时间戳之后有一个空格,不是吗?它们不应该是不相关的,但看起来确实是这样。事实证明,唤醒_源中的时间戳是正常的单调时间我想是这样的。
<6>[226692.217017] Enabling non-boot CPUs ...
    226691.681130889
<6>[226692.626100] Enabling non-boot CPUs ...
    226692.80532881
<6>[226693.305535] Enabling non-boot CPUs ...
    226692.803398747