我永远无法记住在GCC中链接包含文件时要键入的内容,实际上我记得的-lm
只有math.h
。我现在特别关注的是sys/time.h
。
This page清除了一些内容,但我仍然想要一个列表。
有没有人知道很好的链接选项列表?
修改
也许我的问题不明确。我想知道我需要在命令行输入什么(比如-lm
表示数学,或者-lpthread
表示pthread)我在制作C程序时可能需要链接的各种库。
答案 0 :(得分:1)
<sys/time.h>
中提供的功能在libc.so
(C库)中实现。您无需链接任何其他内容,因为gcc应自动链接到libc.so
。没有'包含文件的链接',而是链接到包含代码定义的符号的库。
-l
标志是GCC's linker options之一,用于指定要链接的其他库。
编辑,因为我的gcc在编译时对源代码执行了优化
此外,该链接中的信息有点过时 - 您现在不需要显式指向libm
(-l m
或-lm
所做的) GCC。 击>
答案 1 :(得分:0)
我不确定我理解你的问题,但-lm不是ld 选项,-l是一个选项,-lx链接libx.a(或者.so,它取决于)。您可能需要查看ld手册以获取完整的选项列表。
我认为除了math之外的所有其他标准库都包含在libc.so(.a)( - cc)