clang 命令选项 -lm 是什么意思?

sma*_*ili 4 clang

我发现有人说这-lm意味着链接到数学库。我想通过在终端中
使用来弄清楚其含义。 因此,我运行“ 我没有找到任何与自助终端相关的内容”或 “我怎样才能获得 的含义?”build-in help
$ clang --help
-l-m
-lm

cyp*_*ype 6

-l{name} 标志告诉链接器链接到 lib{name}。因此 -lm 链接到 libm(c 数学库)。
这不是 clang 编译器的标志,而是传递给链接器,这就是为什么您无法使用clang --helpor找到它man clang
如果您使用该--verbose标志运行 clang,您将看到链接器的调用(在我的例子中/usr/bin/ld)是最后一步。
通过运行man ldld --help(或您的 clang 版本使用的任何链接器)您将找到文档。
请记住,并非所有标志都以这种方式传递给链接器(正如melpomene所说,传递 -l 可能是为了与 gcc 编译器兼容)。要确保选项被传递,请使用-Wlclang 选项。