用户 密码
太平洋系列网站:太平洋汽车网 | 太平洋游戏网
首 页 | 今日报价 | 新闻中心 | 数码世界 | 硬件资讯 | 软件资讯 | 下载中心 | 通讯世界 | 论 坛 | 产品大全 | 导购大全 | 渠道商情 | 解决方案 | 招聘培训 | 产品调查 | 评 测 室 |
各地今日报价 北京 广州 上海 深圳 南宁 重庆 山东 南京 香港 辽宁

-
您现在的位置:软件资讯 > 开发特区 > 开发语言 > VC/MFC
VC++通过汇编获取代码运行时间


责任编辑:ljx

[04-6-17 12:14] 作者:hcj2002
-

     如何获得程序或者一段代码运行的时间?你可能说有专门的程序测试工具,确实,不过你也可以在程序中嵌入汇编代码来实现。

     在Pentium的指令系统中有一条指令可以获得CPU内部64位计数器的值,我们可以通过代码两次获取该计数器的值而获得程序或代码运行的时钟周期数,进而通过你的cpu的频率算出一个时钟周期的时间,从而算出程序运行的确切时间。

    我们通过指令TDSIC来获得cpu内部计数器的值,指令TDSIC返回值放在EDX:EAX中,其中EDX中存放64位寄存器中高32位的值,EAX存放第32位的值.

    下面看看实现的代码:





//用汇编实现获取一段代码运行的时间

#include<iostream>

using namespace std;

void GetClockNumber (long high, long low);
void GetRunTime();
 
int main()
{      
 
 long HighStart,LowStart,HighEnd,LowEnd;
 long numhigh,numlow;
 //获取代码运行开始时cpu内部计数器的值
 __asm             
 {
  RDTSC
  mov HighStart, edx
  mov LowStart, eax
 }
 for(int i= 0; i<100000; i++ )
 {
             for(int i= 0; i<100000; i++ )
      {
      
      }
 }





察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:


发给好友 我要报错 投稿给我们 加入收藏 返回顶部

-
本栏今日更新
相关文章
·XP SP2 RC2公众预览!正式版还会远吗?
·绝对惊艳:红旗Linux新系统发布!
·更加完善:比特精灵2.6正式版发布
·疯狂更新:BitComet又一强劲新版推出!
·你了解吗?软件版本号大全
·寻找最适合你的网络硬盘
·Outlook的高级功能-配置多用户支持
·网络世界的“后门”-端口的故事⑨
·新手看过来:VC对话框控件属性的修改
·SSE指令介绍及其C、C++应用
·VC++.net 整合开发环境使用技巧
·精彩教程:快速初始化内存(1)
·VC基础学习:初学者指针指南
·用VC++实现console程序显示彩色文本
·在VC++中播放WAV文件
·学好VC++的十大良好习惯
文章搜索
高级搜索
本栏今日焦点
IT培训十大热门文章
-