math.h - 无法使用log()和rand()函数编译代码

时间:2014-07-01 14:30:33

标签: c

当我编译以下代码片段时,我从编译器中收到此错误消息:

/tmp/ccT1yBa1.o: In function `main':
test.c:(.text.startup+0x34): undefined reference to `log'
collect2: error: ld returned 1 exit status

_

#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <math.h>

void main(){

srand(time(NULL));
double r1 = (rand() % 1000)/1000.0;
double r2 = log(r1);
printf("%lf\n",r2);

}

编译

gcc -O2 test.c

出了什么问题?

1 个答案:

答案 0 :(得分:2)

您忘记了-lm与数学库的关联。

gcc -O2 test.c -lm