【问题标题】:No linking required with some functions [duplicate]某些功能不需要链接[重复]
【发布时间】:2017-04-06 23:28:50
【问题描述】:

我刚刚遇到了一件奇怪的事情。在测试 math.h 时,我尝试使用 pow() 并对其进行编译。我不必链接 math.h 。 但是当我尝试使用 fmod() 之类的方法时,我必须在编译程序时链接 math.h。 为什么我必须在第二种情况下链接库而不在第一种情况下?

【问题讨论】:

    标签: c


    【解决方案1】:

    您的编译器可能会将pow 的某些用法替换为常量。例如,它可以将pow(2.0, 3.0) 替换为8.0。这是一个很好的优化,意味着您不再需要 math.h 中的 pow

    但是你的编译器可能无法替换fmod,或者数学函数的所有用法,所以它仍然需要链接到数学库。

    【讨论】:

      猜你喜欢
      • 2021-09-10
      • 2016-08-03
      • 1970-01-01
      • 2016-10-28
      • 2021-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多