c - 在 C 中执行一个使用数学库的文件

标签 c gcc

我试图执行一个使用数学库的文件(更具体地说,它使用的是 sqrt() 函数)。所以我输入了 gcc fileName.c -o fileName,它一直说“对 `sqrt' 的 undefined reference ”。但是当我在谷歌搜索时,有人说要在我的 gcc 调用末尾添加 -lm ,但我不明白为什么,有人可以解释一下吗?谢谢。

山姆

最佳答案

C 编译有两个不同的步骤:编译为目标代码和链接。在编译为目标代码时,文件按原样编译,任何外部符号(如通过包含标题获得的符号)都保留为“空白”。下一个阶段,链接,是填补这些空白的地方。对于许多库,你必须告诉 gcc 去哪里找,所以你必须给出一个 -l 标志(在这种情况下, -lm 用于数学)。

关于c - 在 C 中执行一个使用数学库的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16616938/

相关文章:

c++ - 字符串匹配 GPU CUDA 错误

c - 为什么 __libc_start_main 出现在字符串数组中

c++ - GCC 允许隐式 int 到指针转换?

gcc - 未定义的结构名称可用于声明新的结构变量

c++ - 静态本地与本地。 C 和 C++ 哪个更快?

c - 如何从字符串中提取整数并将每组字符串分配给不同的变量?

c - 打开一个文件,并在 C 中打印出带有特定数字的一行?

c++ - "make: arm-eabi-gcc: command not found"

c++ - gcc 中的位域字节顺序

c++ - 如何通过 .pro 文件 (Qt) 将命令传递给链接描述文件