x86服务器 Non-x86服务器 服务器组件 虚拟化/云计算 高性能计算 超融合系统 虚拟桌面 数据中心 关键业务服务器
存储系统 存储网络 存储管理 备份归档 存储组件 云/数据中心
路由交换 企业通信 无线 应用交付 网络管理 网络优化 SDN/NFV 物联网
终端安全 网络安全 数据安全 应用安全 移动安全 风险与合规 安全管理 安全导航
产业观察 行业应用 应用软件 基础软件 互联网 开发者
虚拟化
PC 打印机 工作站 平板电脑 智能手机 智能硬件
人物 CIO加油站 云计算 大数据 Apps 10Things 企业开源智库
行者学院 转型私董会 科技行者专题报道 网红大战科技行者
知识库 安全导航
扫一扫分享文章到微信
扫一扫关注官方公众号至顶头条
作者:西西 来源:赛迪网技术社区 2007年10月20日
关键字: 操作系统 函数 时间 Linux
Linux下对时间进行运算,如果是到秒级的,相信大家都用过time之类的函数实现了,但要更精确些呢?到毫秒、微秒级呢?
看看下面这段源代码就明白了:
#include #include #include void function()/*用来耗用一定的时间而已,无实际用处的函数*/ { unsigned int i,j; double y; for(i=0;i<10000;i++) for(j=0;j<10000;j++) y=sin((double)i); } int main(int argc, char ** argv) { struct timeval tpstart,tpend; float timeuse; gettimeofday(&tpstart,NULL); function(); gettimeofday(&tpend,NULL); timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+tpend.tv_usec-tpstart.tv_usec; timeuse/=1000000; printf("Used Time:%f\n",timeuse); exit(0); }
主要是用到了gettimeofday函数,函数里用到了这个结构:
struct timeval { long tv_sec; /* seconds */ long tv_usec; /* microseconds */ };
其它不用说了,大家应该都明白了吧?
濡傛灉鎮ㄩ潪甯歌揩鍒囩殑鎯充簡瑙T棰嗗煙鏈€鏂颁骇鍝佷笌鎶€鏈俊鎭紝閭d箞璁㈤槄鑷抽《缃戞妧鏈偖浠跺皢鏄偍鐨勬渶浣抽€斿緞涔嬩竴銆�
城市云与城市智能发展峰会
ZDNet 2013年回顾与2014年展望专题