如何建立C语言程序内部精确计时器 5

源代码:#include<stdio.h>#include<stdlib.h>intmain(void){intt,i=1;for(t=1;i<=1000;++i){pr... 源代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int t,i=1;
for(t=1;i<=1000;++i)
{
printf("程序运行了%d次\n",i);
}
//a
system("pause");
return 0;
}
我希望在程序开始时做一个计时器,在a处停止计时并输出时间,最好精确一点。
我想要测试在不同时间,不同设备上的运行时间是否相同,并验证此程序运行速度和电脑内存大小是否有关系。
大佬带我一下
展开
 我来答
dttsw
2017-08-01 · TA获得超过1059个赞
知道小有建树答主
回答量:770
采纳率:88%
帮助的人:311万
展开全部

共勉,我也在学习阶段。


#include <time.h>
#include <stdio.h>

int main(void) {
    //nano time
    struct timespec ts1,ts2,ts3,ts4,ts5;
    int err;
    
    err = clock_gettime(CLOCK_REALTIME,&ts1);
    if(err < 0) {
        return 1;
    }   
    printf("ts1 nano:%di\n",ts1.tv_nsec);


    err = clock_gettime(CLOCK_REALTIME,&ts2);
    if(err < 0) {
        return 1;
    }   
    printf("ts2 nano:%d\n",ts2.tv_nsec);
    printf("nano:ts2-ts1=%d\n",ts2.tv_nsec-ts1.tv_nsec);



    err = clock_gettime(CLOCK_MONOTONIC,&ts3);
    if(err < 0) {
        return 1;
    }   
    printf("system started time nano:%d\n",ts3.tv_nsec);
    
    err = clock_gettime(CLOCK_PROCESS_CPUTIME_ID,&ts4);
    if(err < 0) {
        return 1;
    }   
    printf("process cpu time nano:%d\n",ts4.tv_nsec);

    err = clock_gettime(CLOCK_THREAD_CPUTIME_ID,&ts5);
    if(err < 0) {
        return 1;
    }   
    printf("thread cup time  nano:%d\n",ts5.tv_nsec);

    return 0;
}
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
阳光的雷咩咩
2017-07-31 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7840万
展开全部
首先去掉循环里的printf
另外就是用时间库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式