mytime.c

来自「创建进程 此源码为操作系统设计与实践的实验作业」· C语言 代码 · 共 50 行

C
50
字号
#include<sys/time.h>
#include<stdio.h>

int main(int argc,char **argv) 
{ 
	struct timeval tpstart,tpend; 
	int pid;
	int stat;
	float timeuse=-1; 
	char **arg;
//判断参数个数若无则显示其为0
	if (argc <2) 
	{
		printf("Time used:0.0\n");
		exit(-1);
	}
//将参数传导arg变量中,
//注:arg首先指向要运行程序本身的名字
		arg=&argv[1];
//开始计时
	gettimeofday(&tpstart,NULL); 
	if ((pid=fork())==0) 
	{
		printf("the program is:%s\n",argv[1]);
//运行程序
		if (execvp(argv[1],arg)<0) 
		{
			printf("Sorry can not run this program\n");
			exit(-1);
		}
		exit(0);
	}
	else
	//计算运行的时间
		if (pid>0) 
		{
		wait(&stat);
		gettimeofday(&tpend,NULL);
		timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+ tpend.tv_usec-tpstart.tv_usec; 
	 	timeuse/=1000000; 
		printf("\nUsed Time:%fs\n",timeuse);
		}
		else
		{
			printf("Sorry create process error!\n");
			exit(-1);
		}
	 return 0; 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?