pows8015 发表于 2012-11-20 23:01

用linux汇编编写一个程序,记录其他进程的执行时间

类似time命令。例如:
  $ mytimer ls -lR
   1m2.560s
要求:
1、程序的运行环境应当是在Linux、BSD、UNIX等基于POSIX的操作系统。
2、必须使用AT&T风格的汇编语言编写。
3、不得直接调用time、date等命令行命令。
这是我们老师留的作业。直接说下怎么写就行,刚接触的linux汇编完全不知道思路

mymtom_cu 发表于 2012-11-21 14:31

为什么要用汇编呢?这个应该用C语言写啊。
调用gettimeofday就可以了
gettimeofday(t0)
fork(), exec()
wait()
gettimeofday(t1)
getrusage();
print t1 - t0
print rusage

MMMIX 发表于 2012-11-21 17:05

mymtom_cu 发表于 2012-11-21 14:31 static/image/common/back.gif
为什么要用汇编呢?这个应该用C语言写啊。


作业要求撒。

pows8015 发表于 2012-11-21 19:55

:'(:'(:'(:'(

MMMIX 发表于 2012-11-21 20:21

pows8015 发表于 2012-11-20 23:01 static/image/common/back.gif
直接说下怎么写就行,刚接触的linux汇编完全不知道思路


先用 C 写个,然后用 gcc -S 可以编译可以得到汇编版本的代码,改吧改吧就能交了。

mymtom_cu 发表于 2012-11-22 08:43

MMMIX 发表于 2012-11-21 20:21 static/image/common/back.gif
先用 C 写个,然后用 gcc -S 可以编译可以得到汇编版本的代码,改吧改吧就能交了。
我看行!

hansion3406 发表于 2012-11-23 22:29

加油啊!!!!顶哦!!!!!

rongpmcu 发表于 2012-11-24 17:06

系统本身就有关于进程运行多长时间,所以直接读系统的吧, 呵呵

crazyhadoop 发表于 2012-11-24 23:03

MMMIX说的是一个办法~~ 你再加上优化参数~ 然后再看看汇编有啥变化么
页: [1]
查看完整版本: 用linux汇编编写一个程序,记录其他进程的执行时间