函数指针指向C中的内置函数

时间:2016-03-13 00:12:43

标签: c function-pointers

我正在尝试设置一个指向#include <stdio.h> #include <stdlib.h> #include <math.h> int main(void){ double (*func)(double, double) = pow; return 0; } 函数的函数指针。 这是我的代码:

$ gcc test.c -o test

/tmp/ccD6Pmmn.o: In function `main':
test.c:(.text+0x8): undefined reference to `pow'
collect2: error: ld returned 1 exit status

但该程序无法编译。 我收到这个错误:

{{1}}

我正在使用Ubuntu 15.10。

任何人都知道我的代码出了什么问题?

由于

1 个答案:

答案 0 :(得分:0)

您需要通过命令行使用-lm进行编译,或者配置IDE以将其添加到链接过程中。这是因为有些库非常大并且为了避免在程序和编译时占用空间,这是在C开始时设置的,当时计算机速度慢得多,并且需要更多的编译和空间问题是CRUCIAL。