【问题标题】:How to tell the compiler to use hardware floating point instructions with ARM如何告诉编译器在 ARM 中使用硬件浮点指令
【发布时间】:2013-04-14 11:35:20
【问题描述】:

我正在为 ARM 编译一个程序。 makefile 有一个标志 -msoft-float 告诉编译器使用软件浮点仿真。我的问题是如何在 makefile 中指定使用硬件浮点指令。我尝试了 -mhard-float,但如果我这样做了,我会得到错误。正如this site 所说,我还尝试了 -msoftfp-float,但编译器甚至无法识别该标志。所以,请告诉我应该如何解决这个问题。

【问题讨论】:

标签: c gcc makefile arm


【解决方案1】:

Soft float 是配置 gcc 的一个选项,它是开源的,任何人都可以配置带有/不支持 soft float 的工具链。请参阅http://crosstool-ng.org/ 了解构建您自己的编译器的工具。我从正在使用 gcc 4.1.2 的引用链接中获取它;使用-mfloat-abi=softfp,您可能会获得最好的运气。 ARM 上有三种变体。 Debian ARM floating point wiki 很好地描述了这些差异。 Debian VFP comparison 也可能感兴趣。

【讨论】:

  • 更多链接:LinaroRaspberry Pi Blog。此外,您的操作系统(或缺少操作系统)可能会影响您的选择。如果-mfloat-abi=softfp-mfloat-abi=hard 都不起作用,您将需要一个新的编译器。如果-mfloat-abi=softfp 有效,您将需要指定-mfpu=XXX
【解决方案2】:

【讨论】:

    【解决方案3】:

    试试gcc 选项:

    -mno-soft-float

    【讨论】:

    • 它无法识别这个标志。
    • @MetallicPriest:这意味着您的工具链不支持它。这对于免费工具链来说并不少见。商业的通常提供这个。
    猜你喜欢
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    相关资源
    最近更新 更多