来自《Linux 程序设计》
注意编译的时候,链接math库
gcc -o a a.c -lm
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <sys/types.h>
#include <sys/resource.h>
#include <sys/time.h>
void work()
{
FILE *f;
int i;
double x = 4.5;
f = tmpfile();
for (i = 0; i < 10000; i++)
{
fprintf(f, "Do some output\n");
if (ferror(f)) {
fprintf(stderr, "Error writing to temporary file\n");
exit(1);
}
}
for (i = 0; i < 1000000; i++)
x = log(x*x + 3.21);
}
int main()
{
struct rusage r_usage;
struct rlimit r_limit;
int priority;
work();
getrusage(RUSAGE_SELF, &r_usage);
printf("CPU usage: User = %ld.%06ld, System = %ld.%06ld\n",
r_usage.ru_utime.tv_sec, r_usage.ru_utime.tv_usec,
r_usage.ru_stime.tv_sec, r_usage.ru_stime.tv_usec);
return 0;
}