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

时间:2018-08-26 20:04:44

标签: clang

我发现有人说-lm意味着链接到数学库。
我想通过在终端中使用build-in help来找出含义。
所以我运行$ clang --help
我找不到与-l-m相关的任何东西
如何通过自助终端了解-lm的含义?

1 个答案:

答案 0 :(得分:1)

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