永发信息网

c语言 一条for循环所用时间

答案:2  悬赏:0  手机版
解决时间 2021-08-15 16:35
c语言 一条for循环所用时间
最佳答案
3)使用Windows API(精确到微秒级):
如果想提高精度,可以使用QueryPerformanceCounter和QueryPerformanceFrequency。这两个函数不是在每个 系统中都支持。对于支持它们的系统中,可以获得低于1ms的精度。Windows 内部有一个精度非常高的定时器, 精度在微秒级, 但不同的系统这个定时器的频率不同, 这个频率与硬件和操作系统都可能有关。利用 API 函数 QueryPerformanceFrequency 可以得到这个定时器的频率。利用 API 函数 QueryPerformanceCounter 可以得到定时器的当前值。根据要延时的时间和定时器的频率, 可以算出要延时的时间定时器经过的周期数。在循环里用 QueryPerformanceCounter 不停的读出定时器值, 一直到经过了指定周期数再结束循环, 就达到了高精度延时的目的。
LARGE_INTEGER m_nFreq;
LARGE_INTEGER m_nTime;
QueryPerformanceFrequency(&m_nFreq); // 获取时钟周期
QueryPerformanceCounter(&m_nTime);//获取当前时间
printf(" time:%lld us",(m_lm.QuadPart*1000000/m_nFreq.QuadPart));//m_nFreq.QuadPart为:次数/s,这样就可以获得毫秒级别的了。
LARGE_INTEGER的定义为:
#if defined(MIDL_PASS)
typedef struct _LARGE_INTEGER {
#else // MIDL_PASS
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
};
struct {
DWORD LowPart;
LONG HighPart;
} u;
#endif //MIDL_PASS
LONGLONG QuadPart;
} LARGE_INTEGER;
全部回答

c语言中。。每条指令都有自己的指令周期。这在汇编中经常提到。如果你知道了你所使用的系统的机器周期。

机器周期和指令周期之间有关系的。各系统不一样。如果你知道了系统的机器周期,也就是工作频率。在知道某条指令的指令周期。那么时间就很容易算出来了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何在游戏中和好友说话
一 百 年 约 定 不 曾 遗 忘 、八 十 年 后
英语翻译sao anh lai noi hoc tieng viet va
惠州到吉隆最后一班车是几点?
x^2+mx+2-二分之一=0
诚心学象棋有隐藏的业余高手吗
Yes,I’m going to play football this after
诺基亚的e71和e71i相对而言 那款比较好 网上
查子宫息肉为什么要等月经后第五天
解方程x的平方-x的绝对值-2=0.(1)当x小于等
茶陵县株洲慧慧手工烘焙坊在什么地方啊,我要
夏天有什么菜好吃
求数列的答案
恋爱的特征
写出表示快的词语 看得快( ) 吃饭快( )
推荐资讯
不爱了就散吧!
哪位仁兄知道一个可将多个图片弄成视频的软件
大连海事新生军训时染发了卷发了会管么??
求一张龙腾世界 战场征兵卡
朱仙镇9层五色旗盒大概多少钱
询星沙到南方大学公汽线
为什么总是男孩哄女孩的呢?怎么不是女孩哄男
90DEG L/R 还有一个90DEG S/R ELBOW是啥意思
为什么车队挑战的人那么少啊。。
微软认证 熟悉windows 2008可以考什么证书
搜搜桌游吧团长给你的信息
蜜蜂的翅膀每分震动是多少次?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?