平时写测试程序的时候常常要计算程序执行的时间,尤其是最近练习Intel多核编程时,需要判断打开openmp参数与否的执行时间的比较。

通常代码是这样写的:

#include

clock_t start, stop;

....

start = clock();

do_something();

stop = clock();

printf("%f", (double)(stop-start)/1000.0) ;

.....

或者是求当前时间的秒值:

double t = (double) clock()/1000.0;

但是这样的代码在Windows平台下是正确的(当然会这样写也是因为上Intel培训课时,例程都是这么写的),而到了Linux平台下,这个程序就错了,会发现时间一下多了1000倍。

事实上,clock_t的值转换为秒应该是除以CLOCKS_PER_SEC这个宏,而这个宏在Windows平台下是1000,而到了Linux平台下就是1000000了。

因此程序正确的写法是:

#include

clock_t start, stop;

....

start = clock();

do_something();

stop = clock();

printf("%f", (double)(stop-start)/(double)CLOCKS_PER_SEC) ;

.....

这样才能保证程序在跨平台移植时的正确性。

clock在linux下单位,将clock_t转化为秒值在Windows与Linux平台下的差异相关推荐

  1. OCS Inventory NG使用之在windows 2008 R2平台下安装服务器端(三)

    声明:鉴于本文篇幅比较长,为了不让广大博友产生阅读疲劳,所以进行了分割,如果要全篇阅读文章,请点击文章底部的链接,对此产生的不便,深表抱歉.   (图3.10) <?xml:namespace ...

  2. OCS Inventory NG使用之在windows 2008 R2平台下安装服务器端(二)

    声明:鉴于本文篇幅比较长,为了不让广大博友产生阅读疲劳,所以进行了分割,如果要全篇阅读文章,请点击文章底部的链接,对此产生的不便,深表抱歉. 四.第一次失败的分析 <?xml:namespace ...

  3. linux数字标牌,数字标牌操作系统中,Android、 Windows、Linux各自的优势在哪?

    Android.Windows.Linux数字标牌操作系统到底三者有何优势,相信很多朋友都在思考这个问题,今天智能数字标牌网小编和大家一起探讨.首先Android.Windows.... Androi ...

  4. linux传输文件命令scp乱码,CP,SCP 命令(包括windows与linux用xshell互传)

    名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数 ...

  5. 禅道开源版一键安装linux,基于禅道当前的一键安装包(Windows和Linux)如何源码安装旗舰版禅道...

    禅道旗舰版本是在之前20版本的基础上做了重大升级,和之前的版本相比,禅道旗舰版内置了项目集.产品.项目和管理模型的概念,同时对界面交互也做了重大的调整. 以下,我们将以在禅道Windows一键安装包里 ...

  6. mysql windows编译_Windows平台下编译Mysql源码 | 学步园

    最近由于项目的关系,需要使用到Mysql数据库,而我的工作任务与数据库有很大的关系,所以,决定好好学学Mysql,同时,也把Mysql的源码下载了,希望能有利于对它的学习.这里记录一下windows平 ...

  7. Linux操作Oracle(4)——查看oracle后台进程的方法【windows系统/Linux系统】

    目录 问题描述 Windows系统 Linux系统 问题描述 在我们安装补丁,或者对Oracle数据库进行一些维护的时候,需要完全关闭Oracle数据库的所有进程,所以需要查找到Oracle的所有进程 ...

  8. linux只认64G内存,怎样让32位的windows和linux系统支持64G内存

    64位计算机最大支持的内存是2的64次方等于184467440737亿字节,换算一下4G个G, 太大了,反正是N多G,一辈子也用不完: 当前4G的内存确实无法让我们用于生产环境,根本不够系统使用,但企 ...

  9. linux查看绑定ipv6的端口号,[原创]如何在windows和linux绑定IPV6

    脚本方式: windows系统: linux系统:wget http://downinfo.myhostadmin.net/vps/setipv6.sh Usage: ./setipv6.sh -s[ ...

最新文章

  1. 实施自动化测试的六个目标和意义
  2. java B2B2C电子商务平台分析之十一------配置中心和消息总线
  3. mysql originator_MySQL中的事件调度器EVENT
  4. 给hbase增加协处理器报ERROR: org.apache.hadoop.hbase.DoNotRetryIOException:错误
  5. 命令行中创建和打开模Android拟器
  6. CF1155D Beautiful Array 贪心,dp
  7. Qt学习(四):qt读写文件
  8. gdcm::ImageChangePhotometricInterpretation的测试程序
  9. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录
  10. sublime编辑器无法正常打印中文问题解决
  11. 缓存最关心的问题是什么
  12. composition java_阿里P7架构师通过源码浅析Java中的资源加载
  13. Android开发笔记(十三)视图绘制的几个方法
  14. linux 比较内容,Linux命令比较文件内容
  15. auto_ptr scoped_ptr shared_ptr weak_ptr unique_ptr
  16. 又看了半天的pdf格式的js方面的书,感觉受益匪浅啊,只会一点操作的我,要学好理论...
  17. ps2改usb接口_PS2键盘接口改USB接口
  18. 实例解读模拟电子技术完全学习与应用
  19. armbian清理_N1盒子armbian/ubuntu/linux系统修改日志输出到内存
  20. 多学5个实用Excel技巧,工作早做完,比同事早下班

热门文章

  1. PowerPC基础知识
  2. iOS获取视频图片(视屏截图)
  3. 华为LAB实验室4-朴素贝叶斯
  4. 打造高质量的App——《App研发录》
  5. 五年前信息差的钱很好赚,只要你能找到一个低于市场价的产品,别人不知道,你就能销售出去赚钱
  6. c语言课设四边形计算报告,c语言课程设计关于四边形证明对于任意的四边形ABCD对角线AC与BD的中点分别是M、N,AB、CD的延长线交于R。验证三...
  7. 第一章 C++ 计算机语言
  8. 木木夕推荐:第二款产品《喜马拉雅》
  9. Qt 中控件右击菜单的翻译
  10. 【C#】正则表达式匹配中文,英文字母和数字及_写法!并控制长度