c - <stdio.h> vs <math.h> - 为什么你必须链接一个而不是另一个?

标签 c

<分区>

我很困惑为什么你必须输入 -lm 才能正确地将数学链接到你的代码,但不必为 stdio 做同样的事情。我才刚刚开始使用 C,所以如果这是一个愚蠢的问题或者我遗漏了一些明显的问题,我深表歉意。

最佳答案

总之,由于历史原因,

stdio.h中的函数在libc中,而math.h中的函数在libm中>。 libc 默认链接,但 libm 不是。

关于c - <stdio.h> vs <math.h> - 为什么你必须链接一个而不是另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18051721/

相关文章:

C 中的 Java 字节缓冲区?

c - 按位运算实现逻辑右移

c++ - 高效地乘以数组的 (n-1) 个元素

c - 在 C 中打印指针

c - 发现 IP 地址是 DHCP 还是静态

c++ - 转换 printf(); cout<<""的语句;陈述。 C&C++

c - 即使对于NULL分配,大小8 valgrind的无效写入

c++ - 为什么很少有人输入 const 正确的代码? const 正确的代码会编译得更好/更快吗?

c - 为什么只有当可执行文件在 Visual Studio 下运行时 CreateFileA 才会失败?

c - 使用 ZeroMQ 和 ProtocolBuffers 发送结构