程序计时

本文介绍了在Windows和Linux下创建进程以及进行计时的方法。在Windows中,使用CreateProcess()和GetSystemTime(),而在Linux中则使用fork()/execv()和gettimeofday()。由于GetSystemTime()在计时上的局限,作者推荐使用clock()函数。
摘要由CSDN通过智能技术生成

 

一、实验目的
设计并实现Unix 的“time” 命令。“mytime” 命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。
二、实验内容
在Windows 实现: 
  • 使用CreateProcess()来创建进程
  • 使用WaitForSingleObject()在“mytime”命令和新创建的进程之间同步
  • 调用GetSystemTime()来获取时间
在Linux下实现: 
  • 使用fork()/execv()来创建进程运行程序
  • 使用wait()等待新创建的进程结束
  • 调用gettimeofday()来获取时间
 
三、实验环境
windows 7和ubuntu 10.10
四、程序设计与实现
      主要API函数说明:
windows:
BOOL CreateProcess
  (
   LPCTSTR lpApplicationName,
   LPTSTR lpCommandLine,
   LPSECURITY_ATTRIBUTES lpProcessAttributes。
   LPSECURITY_ATTRIBUTES lpThreadAttributes,
   BOOL bInheritHandles,
   DWORD dwCreationFlags,
   LPVOID lpEnvironment,
   LPCTSTR lpCurrentDirectory,
   LPSTARTUPINFO lpStartupInfo,
   LPPROCESS_INFORMATION lpProcessInformation
);
DWORD WaitForSingleObject(
   HANDLE hHandle,
   DWORD dwMilliseconds
);
linux:
int execv(c
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值