辛科斯去哪儿了? (海湾合作委员会)
Where did sincos go? (gcc c)
几天前它工作正常,但今天再次尝试使用时,我的代码编辑器再也找不到 sincos,GCC 向我发出警告,说它在编译时找不到 sincos。
代码如下:
// file: main.c
#include <math.h>
int main() {
double sin, cos;
sincos(0.0, &sin, &cos);
return 0;
}
使用 gcc:
$ gcc main.c -lm
x.c: In function ‘main’:
x.c:5:2: warning: implicit declaration of function ‘sincos’ [-Wimplicit-function-declaration]
5 | sincos(0.0, &sin, &cos);
| ^~~~~~
x.c:5:2: warning: incompatible implicit declaration of built-in function ‘sincos’
x.c:2:1: note: include ‘<math.h>’ or provide a declaration of ‘sincos’
1 | #include <math.h>
+++ |+#include <math.h>
2 |
它说我应该包括 math.h 但我还是这样做了。
它说它找不到 sincos 但它编译并运行良好。我只是对这些警告感到恼火。有人知道怎么回事吗?
将以下内容添加到文件顶部以启用 gnu 扩展:
#define _GNU_SOURCE
#include <math.h>
这将阻止警告。请注意,这是一个 glibc
扩展,而不是 C 标准的一部分。
几天前它工作正常,但今天再次尝试使用时,我的代码编辑器再也找不到 sincos,GCC 向我发出警告,说它在编译时找不到 sincos。
代码如下:
// file: main.c
#include <math.h>
int main() {
double sin, cos;
sincos(0.0, &sin, &cos);
return 0;
}
使用 gcc:
$ gcc main.c -lm
x.c: In function ‘main’:
x.c:5:2: warning: implicit declaration of function ‘sincos’ [-Wimplicit-function-declaration]
5 | sincos(0.0, &sin, &cos);
| ^~~~~~
x.c:5:2: warning: incompatible implicit declaration of built-in function ‘sincos’
x.c:2:1: note: include ‘<math.h>’ or provide a declaration of ‘sincos’
1 | #include <math.h>
+++ |+#include <math.h>
2 |
它说我应该包括 math.h 但我还是这样做了。 它说它找不到 sincos 但它编译并运行良好。我只是对这些警告感到恼火。有人知道怎么回事吗?
将以下内容添加到文件顶部以启用 gnu 扩展:
#define _GNU_SOURCE
#include <math.h>
这将阻止警告。请注意,这是一个 glibc
扩展,而不是 C 标准的一部分。